LoginSignup
1
1

More than 5 years have passed since last update.

UIToolbar を xib 化するときの Tips

Posted at

UIToolbarを xib化することはあまりないかと思いますが、今回自分でやったときにハマった点があったので共有です。

問題

UIToolbarを使うとき、状況によって配置するUIBarButtonItemを変えたいことがあると思います。
UIToolbarItemStoryboardで作成した場合は問題ありませんが、xib上でUIToolbarと後から使うItemを用意するといった条件下では、いざItemの変更をしようとしたとき、xibロード時に表示されていないItemは保持されていないため、アクセスできなくなってしまいます。

コードで追加すれば問題ないと思いますが、せっかくxib化しているので、ItemIBOutletとして扱いたいです。

対策

通常weakで宣言するIBOutletstrongで宣言します。
これでxibからinstantiateWithOwnerした段階で、すべてのパーツがロードされ、しかも最初にUIToolbarに配置されていないItemもアクセスして配置することができるようになります。

パーツはViewControllerにstrong参照されているわけではないので、UIToolbarが不要になった時点で一緒に廃棄されます。


以上、UIToolbarをxib化するときのTipsでした。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1