読者です 読者をやめる 読者になる 読者になる

ツールバーでボタンを等間隔に配置する方法

swift objective-c iphone iPhoneアプリ開発

やりたいこと

ツールバーをつくる方法です。
UINvigatioNavigationvarを使っていれば、デフォでナビゲーションバーが付いていたかと思いますが、今回はそれではなく自分で作って配置する方法です。

実装

f:id:yoppy0066:20150428023105p:plain
左はし、中央、右はしに配置します

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        // ツールバー
        let toolbar = UIToolbar(frame: CGRectMake(0, 0, self.view.bounds.size.width, 44.0))
        toolbar.barStyle = .BlackTranslucent
        toolbar.tintColor = UIColor.whiteColor()
        toolbar.backgroundColor = UIColor.blackColor()

        let button1: UIBarButtonItem = UIBarButtonItem(title: "button1", style:.Plain, target: nil, action: nil)
        let button2: UIBarButtonItem = UIBarButtonItem(title: "button2", style:.Plain, target: nil, action: nil)
        let button3: UIBarButtonItem = UIBarButtonItem(title: "button3", style:.Plain, target: nil, action: nil)
        let buttonGap: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)

        toolbar.items = [button1, buttonGap, button2, buttonGap, button3]

        self.view.addSubview(toolbar)
        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

ポイントは、buttonGapをつくって追加してるところでしょうか。
右はしだけに置きたい場合は、以下みたいな感じに

toolbar.items = [buttonGap, button3]

中央と右はしに置きたい場合は以下みたいな感じに

toolbar.items = [buttonGap, button2, buttonGap, button3]

でゆけます。よく使いそうなのでそのままのせました

以上です