我知道这个问题有点开放,但我试图让它尽可能具体,因为我真的不知道 iOS 的这种类型的事情的标准约定是什么。我一直在考虑在我的应用程序上实现登录屏幕,但是我无法找出最佳方法。我在下面列出了三种方法,有人可以告诉我其中一种方法更好或更正确吗?(或者如果有什么我完全错过了)。
第一种方法 - 我最初有一个导航控制器作为我的根控制器,登录屏幕是堆栈上的第一个视图。然后当用户登录时,我只是将主 UI 推送到堆栈。然后,用户可以使用后退按钮返回登录屏幕。我知道这种技术有效,但是当重新启动应用程序时,用户不需要再次登录。我不确定我是否应该以相同的方式设置堆栈(首先登录页面)然后将主 UI 推到顶部?这是一种常见的技术吗?
下一种方法,我在这里找到了如何替换根控制器如何从 CustomViewController 中更改 RootViewController(在 AppDelegate 中)?我更喜欢这个想法,我可以在登录后摆脱登录屏幕并添加某种类型的按钮以使其在注销时重新出现。然后在重新启动期间,我可以完全跳过添加登录屏幕。
第三种方法可能是在主 UI 之上覆盖登录,但我还没有找到任何代码来执行此操作。这似乎也有点奇怪,因为我的主 UI 可能会开始触发我不希望在登录后发生的消息,所以我必须考虑到这一点。