私は、UINavigationControllerのビューコントローラ階層内にあるビューコントローラを作成しました。このビューコントローラには、子ビューコントローラのビューを表示するフルフレームコンテナビューが含まれています。ビューコントローラを押すことなく、UINavigationControllerのナビゲーション項目を置き換える方法はありますか?
コンテナビューを含むビューコントローラのナビゲーション項目ではなく、子ビューコントローラのナビゲーション項目(i.s. title
およびrightBarButtonItems
)に関連付けられた項目を表示することをお勧めします。
私の初期の反応は単にviewController.navigationItem = childViewController.navigationItem
に設定されていますが、navigationItem
は読み取り専用です。私の第二の反応は、例えば、関連する項目自体を設定するには:
viewController.navigationItem.title = childViewController.navigationItem.title;
viewController.navigationItem.rightBarButtonItems = childViewController.navigationItem.rightBarButtonItems;
をスウィズリングである、私はまた、子ビューコントローラのナビゲーション項目のプロパティが設定されているときを検出し、それに応じて更新することができますよ。ただし、子ビューコントローラのナビゲーション項目のプロパティが更新されずに更新された場合(title
はテキストの色が変更され、rightBarButtonItem
は無効です)、これらの変更は反映されません。
私が探している効果を達成する方法はありますか?