2017-06-05 10 views
0

私のカスタムナビゲーションコントローラの右ボタンを設定しています。NavigationItemの右ボタンが設定されていない

私はUINavigationCOntrollerを拡張したクラスを持っています。私はすべてをきれいにし、viewDidAppearで次のコードを実行するだけです。

navigationBar.topItem?.title = "Carpool" 

    let languagesSpinner = UIBarButtonItem(title: "PT", style: .done, target: self, action: #selector(didClickLanguagesButton))     
    navigationItem.setRightBarButton(languagesSpinner, animated: true)   

タイトルは設定されていますが、ボタンは設定されていません。

奇妙なことは、私がpoでデバッグするときに項目が設定されていることです。

誰でも教えてください。

答えて

1

あなたはnavigationBar.topItemtitleを設定し、navigationItemrightBarButtonを設定しているのでnavigationBar.topItemでもrightBarButtonを設定してみてください。

は一度

navigationBar.topItem?.setRightBarButton(languagesSpinner, animated: true) 

代わりの

navigationItem.setRightBarButton(languagesSpinner, animated: true) 
+0

感謝を試してみてください。私はUINavigationControllerがどのように動作するかを研究しなければならない。ナビゲーションアイテムを上書きできないのはなぜですか? –

+0

@DiogoAleixoようこそメイト:) 'navigationItem'オーバーライドについてはわかりませんが、' navigationItem'は 'navigationController'が同じになる各コントローラで異なるでしょう。 –

+1

完了しました。ありがとう。私はそれを勉強します –

関連する問題