ios - 基于用户类型的不同 View - 登录后正确的 segue 类型?

标签 ios xcode ios7 xcode5 segue

我有一个登录 View Controller ,它是初始 View Controller 。用户在这里输入他们的用户名和密码,然后将其发送到服务器进行检查。如果用户输入了正确的凭据,服务器会返回一些 JSON 数据,包括用户类型(“学生”或“演示者”)。我使用返回的用户类型来决定用户将看到的 View 。 (用户将看到不同的选项卡 Controller )

我正在努力解决的问题是要执行哪种类型的 segue。推送还是模态?我尝试将导航 Controller 嵌入到登录 View Controller 中,并执行 Push Segue 到正确的 View ,但这似乎不能很好地与嵌入在其他 View 中的其他导航 Controller (标题消失等)一起使用。

在这种情况下,模态转场类型是否正确?用户根本不会返回登录屏幕。

最佳答案

请记住,您不能嵌套导航 Controller 。将导航 Controller 推送到导航堆栈会导致您看到的错误类型,如缺少标题等。始终以模态方式转至导航 Controller ,并在需要时使用展开转场返回。

推送转场专门用于将目标 View Controller 推送到导航堆栈。在推送 segue 之前,初始 View Controller 必须位于导航堆栈中。如果您的登录 View 是导航 Controller 的 Root View ,那么推送下一个 View 是可行的方法。

另一方面,这听起来可能是你的情况,如果你的登录 View 是你的初始 View ,并且你想转至两个不同的导航 Controller ,其中包含不同用户角色的不同路径,你会想要模态转导航 Controller 本身。

Apple 的一些引用资料: https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/UsingViewControllersinYourApplication/UsingViewControllersinYourApplication.html#//apple_ref/doc/uid/TP40007457-CH6-SW1

关于ios - 基于用户类型的不同 View - 登录后正确的 segue 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24434464/

相关文章:

ios7 - 我如何从 UIViewController 移动到 myScene?

ios - 改变uitextfield的边框颜色

ios - CNContact 添加新的联系人问题

ios - 如何使用代码隐藏 UITextField 背景图像?

ios - Xcode 版本 6.2 没有 iOS 8.3 构建目标

c++ - 在Mac上找不到ifstream'文件

ios - 使用核心数据传输 ManagedObjectContext 时出错

uibutton - 如何防止UIButton在更新标题时闪烁

ios - 传输安全已阻止明文 HTTP (XCode 8)

ios - MKStoreKit 在 iOS 7 上崩溃并出现 SIGTRAP 错误