2016-11-07 5 views
3

次のコードでは、inputFieldがタップされたことを示す3つのボタンがあります。今すぐボタンが表示されますが、それらのすべてが左にシフトされています。私がしたいのは、どの携帯電話のサイズに関係なく、それらを均等に配置しておくことです。inputAccessoryViewの均等スペースUIToolbarボタン

UIToolbarでボタンを均等に配置する方法を教えてください。

CODE:

override func viewDidLoad() { 
    super.viewDidLoad() 

    addButtonsToKeyboard() 
} 


// Reusable Button 
func configurButton(button:UIButton) { 
    button.backgroundColor = UIColor.whiteColor() 
    button.layer.cornerRadius = 5 
    button.layer.borderWidth = 1.0 
    button.layer.borderColor = UIColor.blueColor().CGColor 
    button.setTitleColor(UIColor.lightGrayColor(), forState: .Normal) 
    button.setTitleColor(UIColor.blueColor(), forState: .Highlighted) 
    button.frame = CGRect(x:0, y:0, width:50, height:35) 
    button.addTarget(self, action: #selector(customKeyPressed), forControlEvents: UIControlEvents.TouchUpInside) 
} 


    func addButtonsToKeyboard(){ 
     // First button 
     let button1 = UIButton() 
     button1.setTitle("Btn 1", forState: .Normal) 
     configureButton(button1) 
     let barButton1 = UIBarButtonItem() 
     barButton1.customView = button1 

     // Second button 
     let button2 = UIButton() 
     button2.setTitle("Btn 2", forState: .Normal) 
     configureButton(button2) 
     let barButton2 = UIBarButtonItem() 
     barButton2.customView = button2 

     // Third button 
     let button3 = UIButton() 
     button3.setTitle("Btn 3", forState: .Normal) 
     configureButton(button3) 
     let barButton3 = UIBarButtonItem() 
     barButton3.customView = button3 


     /** 
     * UIToolbar. 
     */ 
     let toolBar = UIToolbar() 
     toolBar.tintColor = UIColor.redColor() 
     toolBar.barTintColor = UIColor.lightGrayColor() 

     toolBar.items = [barButton1, barButton2, barButton3] 
     toolBar.sizeToFit() 

     myInputField.inputAccessoryView = toolBar 
    } 


    func customKeyPressed(sender: UIButton){ 
     // do something 
    } 

CURRENT:

enter image description here

がAFTER:
enter image description here

答えて

4

非常にシンプルな、あなただけの各ボタン間の柔軟なバーボタンアイテムを追加する必要があります。以下を参照してください。

let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) 
toolbar.items = [barButton1, space, barButton2, space, barButton3] 
+0

ありがとうございます。 –

+1

問題はありません。アップしてください。 –

関連する問題