NavigationController StoryboardSegue 不显示导航栏和未调用导航委托
NavigationController StoryboardSegue not showing navigationBar and navigation delegate not called
我最近更改了我的 app structure
以包含一个 UINavigationController
作为我的 hierarchy
的基础并且我让它的根 viewController
实现了 UINavigationControllerDelegate
协议为了实施custom segues
。
我的 viewController
实现 navigationController:animationControllerForOperation:fromViewController:toViewController:
。
我的问题有两个:
navigationController.delegate
方法未被调用。
- 在通过
show
类型的 storyboardSegues
推送的 views
中未调用 navigationBar
。
正在调用 prepareForSegue:sender:
函数 。
这是我的 UI:
事实证明 UIStoryboardSegues
我在 之前添加 我将 UINavigationController
添加到我的层次结构仍然被解释为 模态 segues。可能这是在 创建 期间设置的。
问题已由deleting
和re-adding
解决segues
,并提供相关信息(identifier
、class
...)转移到新实例。
如果您有同样的问题,当您在您的 viewController
中将 Top Par
设置为 inferred
时,您将看不到 navigationBar
显示。
更换 segues
后,Top Bar
再次正常显示。
编辑:
我 post 将问题与此答案一起编辑,因为 SO
上没有 post 涵盖此问题。 self-answer
我最近更改了我的 app structure
以包含一个 UINavigationController
作为我的 hierarchy
的基础并且我让它的根 viewController
实现了 UINavigationControllerDelegate
协议为了实施custom segues
。
我的 viewController
实现 navigationController:animationControllerForOperation:fromViewController:toViewController:
。
我的问题有两个:
navigationController.delegate
方法未被调用。- 在通过
show
类型的storyboardSegues
推送的views
中未调用navigationBar
。
正在调用 prepareForSegue:sender:
函数 。
这是我的 UI:
事实证明 UIStoryboardSegues
我在 之前添加 我将 UINavigationController
添加到我的层次结构仍然被解释为 模态 segues。可能这是在 创建 期间设置的。
问题已由deleting
和re-adding
解决segues
,并提供相关信息(identifier
、class
...)转移到新实例。
如果您有同样的问题,当您在您的 viewController
中将 Top Par
设置为 inferred
时,您将看不到 navigationBar
显示。
更换 segues
后,Top Bar
再次正常显示。
编辑:
我 post 将问题与此答案一起编辑,因为 SO
上没有 post 涵盖此问题。 self-answer