iPhoneアプリケーションを作成していて、ナビゲーションバーのtitleview位置にロゴを表示したいとします。私はUINavigationControllerのサブクラスを作り、のviewDidLoadで次の行を追加しました:seguesの後のビューでナビゲーションバーのタイトルビューが表示されない
self.navigationBar.topItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"titlelogo.png"]];
(これはちょうど1ライン分の廃棄物のように見えるかもしれませんが、私は複数の場所でそれを使用していると私はしたくありません
これはナビゲーションコントローラの直下の子にはうまくいきます - ロゴが表示されます。しかし、セグを別のビューにプッシュすると、「同じ」ナビゲーションコントローラの(私の知る限り)ロゴの部分は持ち越されません。 (参考)
- > MyNavigationController - > SomeViewController - > SomeOtherViewController
私はまたしてSomeOtherViewControllerののviewDidLoadに入る試してみました:
self.navigationController.navigationBar.topItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"titlelogo.png"]];
これはまだロゴが表示されません。チャンスをうかがっいくつかの後
、私は1)私はnavigationcontrollerののviewDidLoadでそのラインを持っていない場合2)私は、その後、SomeOtherViewControllerののviewDidLoadの2行目を持っていないことを発見した:
スタート:表示SomeViewController 。ロゴなし。 Click to segue:消える前に、SomeViewControllerのバーにロゴが表示されるようになりました。 私は今、Logoを持たないSomeOtherViewControllerを見ています。 クリックして戻る:SomeViewControllerのナビゲーションバーにはまだロゴがあります。
明らかに、私はナビゲーションコントローラの仕組みについて誤解しています。誰も私にこれを修正する方法を教えてもらえますか?