【问题标题】:How do I exit or jump out of a UINavigationController to a totally separate controller which happens to me my root controller?如何退出或跳出 UINavigationController 到一个完全独立的控制器,这发生在我的根控制器身上?
【发布时间】:2014-02-27 17:51:09
【问题描述】:

我的 UITabBarController 上有 3 个选项卡 主页

添加人物

更多

要进入设置页面,管理员必须点击“更多”,他们会被带到带有静态行列表的 UINavigationController 根视图。然后,如果他们滚动到设置并点击但未登录,则会弹出登录模式。

输入正确的登录凭据后,用户将被带到 UINavigationController 中的下一个视图。该页面上有一个注销按钮。当点击此按钮时,我希望用户完全脱离 UINavigationController。我试过弹回到堆栈中的rootcontroller,但它的行为很奇怪。

我只是认为最好将管理员带回主页选项卡控制器。有没有办法正确地做到这一点,而不是创建从注销按钮到我的主控制器视图的 segue?

【问题讨论】:

  • 您确实需要改进您的问题。尝试添加一些带有 view/viewController 层次结构、各种屏幕和导航的图表。像这样理解这一切是相当困难的。
  • 会的,因为我自己也很困惑。现在正在努力。

标签: objective-c cocoa-touch ios7 uinavigationcontroller uitabbarcontroller


【解决方案1】:

我不完全理解你的情况,因为你的解释有点模棱两可,但无论如何,你可以通过为 appDelegate 窗口分配一个新的 rootViewController 来重新定义你的所有 viewController 层次结构:

AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
appDelegate.window.rootViewController = ...

【讨论】:

  • 我收到此错误:“在意外状态下完成导航转换。导航栏子视图树可能已损坏。”我有一个导航控制器,其中嵌入了一个表(菜单表控制器)。在那张桌子上有一个“设置”行,将我带到另一张桌子。其中的行可以让我再看到一个视图。如果没有登录,您将永远无法按预期通过“设置”行。现在,当用户登录时,如果他们返回“菜单表控制器”然后再次单击设置,我会收到上面的错误,一切都搞砸了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
  • 1970-01-01
  • 2012-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多