基于用户类型的不同视图-登录后正确的segue类型



我有一个登录视图控制器,它是初始视图控制器。在这里,用户输入他们的用户名和密码,然后将其发送到服务器进行检查。如果用户输入了正确的凭据,服务器将响应一些JSON数据,包括用户类型('student'或'demonstrator')。我使用返回的用户类型来决定用户将看到哪些视图。(用户将看到不同的TAB控制器)

我纠结的是执行什么类型的segue。Push还是Modal?我尝试将导航控制器嵌入到登录视图控制器中,并执行Push Segue到正确的视图,但这似乎与嵌入在其他视图中的其他导航控制器(标题消失等)不太好。

modal segue类型是在这种情况下使用的正确类型吗?用户根本不会返回到登录屏幕。

请记住,不能嵌套导航控制器。将导航控制器推到导航堆栈上会导致您看到的诸如缺少标题之类的错误。总是模态地segue到导航控制器,如果需要的话使用unwind segue返回。

push segue专门用于将目标视图控制器推送到导航堆栈。初始视图控制器必须在导航堆栈中才能推送segue。如果你的login视图是导航控制器的根视图,那么推送下一个视图是正确的。

另一方面,这听起来可能是你的情况,如果你的登录视图是你的初始视图你想segue到两个不同的导航控制器包含不同用户角色的不同路径,你会想要模态segue到导航控制器本身

一些来自苹果的参考资料:https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/UsingViewControllersinYourApplication/UsingViewControllersinYourApplication.html//apple_ref/doc/uid/TP40007457-CH6-SW1

最新更新