さるへい備忘録

さるへいのやったことを綴っているブログです。基本的にテクノロジーの話題です。

swiftでナビゲーションバーにボタンをつける

swiftで、ナビゲーションバーに検索ボタンなどを付与したくなったことはありませんか?

以下のように実装するとナビゲーションバーにボタンを付与できるみたいです。

1. navigationControllerを追加する

追加したい画面を選択して、Editor -> Embed in -> Navigation Controller で追加できます。 f:id:saruhei1989:20150906133045p:plain

2. ボタンを追加する

以下のコードを記述します。

// ボタン作成
// barButtonSystemItemを変更すればいろいろなアイコンに変更できます
var searchButton: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Search, target: self, action: "clickSearchButton")
var refreshButton: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Refresh, target: self, action: "clickRefreshButton")
        
//ナビゲーションバーの右側にボタン付与
self.navigationItem.setRightBarButtonItems([searchButton, refreshButton], animated: true) 

func clickSearchButton(){
    //searchButtonを押した際の処理を記述
}

func clickRefreshButton(){
    //refreshButtonを押した際の処理を記述
}

上記の2工程を踏めば、以下のようにボタンが付与されます

f:id:saruhei1989:20150906133922p:plain

他のアイコンを利用したい場合は?

使えるアイコン一覧の参考URL
iOSのシステムで用意されているバーボタンUIBarButtonSystemItemのアイコン画像一覧まとめ