UIViewControllerのtitle
プロパティの目的は何ですか?タイトルは既にnavigationItem.title
で設定できませんか?self.title vs self.navigationItem.title
どちらも機能しているように見えますが、なぜこのように見える重複機能があるのだろうと思っています。
UIViewControllerのtitle
プロパティの目的は何ですか?タイトルは既にnavigationItem.title
で設定できませんか?self.title vs self.navigationItem.title
どちらも機能しているように見えますが、なぜこのように見える重複機能があるのだろうと思っています。
ビューコントローラのタイトルは、プログラマとしての慣習と便利さの両方です。 ...
self.title = @"Some Title";
または
[self setTitle:@"Some Title"];
を呼び出すと、あなたのビューコントローラのタイトルを取得する必要がある(ナビゲーションバーのような)任意のオブジェクトがそうすることができることを保証します。 navigationItem.titleを使用すると、必要に応じてこのタイトルを乗り越えることができますが、代わりにコントローラのタイトルを設定するためにはよりスタイリッシュな方法が考えられます。
IMOあなたがいずれかを実行することができますが、前者はあなたにいくつかの入力を保存します;-)
Cheers-
navigationItem.title
と設定すると、ビューの上部にナビゲーションバーのタイトルが設定されます。これは、前のビューのタイトル(navigationItem.title
で設定されている)が戻るボタンのテキストになるため、新しいView Controllerをプッシュするときに重要です。さらに、プロジェクトにナビゲーションバーがない場合、navigationItem.title
は機能しません。
アップルはUIViewControllerのtitle
プロパティについて次のように説明します。
このコントローラが管理するビューを表すローカライズされた文字列。
のUIViewControllerは、titleプロパティを持っています。 navigationItemとtabBarItemの両方でtitleプロパティをオーバーライドします。私たちがtabbarとnavigationcontrollerを持つアプリケーションを持っていて、self.title = @ "somethng"と設定すると、そのタイトルはnavigationTitleとtabBartitleの両方に設定されます。
UIViewControllerでは、titleとnavigationItem.titleが異なります。一例:UITabBarControllerのViewController(NavigationController内にある)がある場合、self.titleを設定すると、タブの名前とトップタイトルがオーバーライドされます。 self.navigationItem.titleを設定すると、タイトルバーのみが変更され、タブバー名は変更されません。