【问题标题】:Update UINavigationController when clicked on menu单击菜单时更新 UINavigationController
【发布时间】:2015-04-18 16:28:11
【问题描述】:

这是我目前的故事板。 我有一个嵌入到导航控制器中的初始视图(活动),它有一个左上角的导航项(几乎不可见的按钮),它与具有不同选项的菜单(断头台菜单视图控制器)相连接。当我单击菜单中的选项时,如何设置它以打开嵌入在同一导航控制器中的不同 ViewController?

顺便说一句,我使用 this 库作为菜单视图控制器。

【问题讨论】:

    标签: ios uinavigationcontroller segue


    【解决方案1】:

    你可以这样做:

    1. 在情节提要中新建不同的视图控制器。
    2. Cmd+从按钮拖动到视图控制器。
    3. 在弹出菜单中,选择“push”segue。

    【讨论】:

    • 感谢您的回复!我尝试这样做,除了将推送 segues 标记为已弃用之外,当我单击与新视图连接的按钮时,我收到此错误,导致应用程序崩溃:*** 由于未捕获的异常“NSGenericException”而终止应用程序,原因:'只有当源控制器由 UINavigationController 的实例管理时才能使用推送 segue。我认为这是因为菜单没有嵌入到 NavigationController 中
    • 在看到你的代码之前我不知道是什么情况,在 iOS8 中,push segue 被替换为 showViewController 或 showDetailViewController
    【解决方案2】:

    我认为您需要一种方法来使菜单将新视图控制器推送到呈现它的导航控制器。我有一个想法,但我现在不能尝试,你可以尝试一下,如果有什么不清楚的地方告诉我

    1- 将委托属性添加到您的 GuillotineMenuViewController

    2- 如果 segue 用于显示菜单,则在视图控制器的 prepareForSegue 中,将菜单委托设置为 self

    3- 使菜单按钮的操作使用它应该推送的视图控制器的名称(或更好的情节提要 ID)调用菜单的委托

    4- 在委托函数中关闭菜单,并检查视图控制器是否不在顶部,使用相应的故事板 ID 实例化它并推送它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      相关资源
      最近更新 更多