ios - 多个导航 Controller

标签 ios objective-c

我在组织应用程序的注册/登录流程时遇到问题。我目前有指向导航 Controller 的应用程序的 Storyboard入口点。在 AppDelegate.m 中,如果用户未登录有:

    SignUpViewController *signUpViewController = [[SignUpViewController alloc] init];
    self.navController = [[UINavigationController alloc] initWithRootViewController:signUpViewController];
    self.window.rootViewController = self.navController;
    [self.window makeKeyAndVisible];

这将创建“注册”导航 Controller 。

我试图将此 SignUpViewController 与导航 Controller 一起弹出以进入应用程序的初始屏幕(导航 Controller 最初在 Storyboard 中指向),但我没有取得任何成功.

最佳答案

当你使用 Storyboard(因此那里有一个初始 View Controller )时,iOS 正在为你做的是将 window.rootViewController 设置为这个 初始 View Controller 的 View Controller 旗帜

在您的代码中,您正在替换 SignUpViewController 的 Root View Controller 嵌入到 UINavigationController 中,这就是为什么您实际上无法从中弹出的原因因为之前堆栈中没有其他 View Controller 。

一个解决方案可能是在第一个 View Controller 上添加一个逻辑,用于识别用户是否已登录,如果未登录则推送(或以模态方式呈现)SignUpViewController。希望对您有所帮助。

关于ios - 多个导航 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34914889/

相关文章:

iphone - 在 Coredata 中预加载数据的最佳实践

android - 如何从 OneSignal 推送通知 Flutter 中提取消息标题和正文

ios - 我怎么知道给定日期是星期几?

ios - 无法调用参数列表类型

iphone - iOS分段控制问题

iphone - UIColor clearcolor 在 3.2iOS sdk 中有效,但在 4.3 上无效,为什么?

ios - Mac App Store 消费品收据在服务器端验证时的 in_app 哈希为空

ios - 如何限制触摸持续时间?

iphone - 设置分组 UITableViewCell 的背景颜色

iphone - 获取当前歌曲的插图时出错