UIBarButtonItemで画像の見たを変えずに使用するやり方
UIBarButtonItem
UIBarButtonItemは、UINavigationControllerとかと併せてよく使うButtonですが、そのまま使用すると下記のように透過じゃない部分は単色でTint Color
によって塗りつぶされます。
この画像を使用すると…
こうなる
これを画像を加工せずそのまま表示したいと思ったので、いいやり方ないか調べた際のメモです。
init(customView:)を使う
UIBarButtonIteminit(customView:)
という初期化方法にUIButtonを設定することで簡単に実現できる。
流れとしては、
- Storyboardで、UIButtonを用意する
- IBOutletで紐づける
- そのButtonを使用してコードでUIBarButtonItemを作成する
- UIBarButtonItemをセットする
そうすると、このようになる、
このやり方のメリットとして、StoryboardのUIButtonからIBActionを設定できるのでaddTarget
とかを使って#selector
で押下時の挙動を設定してあげる必要がない。
Storyboardを使わない場合
この場合、コードでUIButtonを生成して同じようにUIBarButtonIteminit(customView:)
でセットしてあげればよい。