我正在创建一个基本的用户页面,如果用户没有注册,我会在启动时自动转到另一个UIViewController
。
我创建了一个设置为false的bool,然后在viewDidLoad
中添加了以下内容:
if (userIsRegistered == false) {
performSegueWithIdentifier("signUp", sender: nil)
}
我知道这很简单,但似乎没用。
为了确保segue代码有效,我添加了一个
UIButton
并用相同的代码执行了一个IBAction
,然后它就可以正常工作了。不过,正如我所提到的,如果变量userIsRegistered
设置为false,我想在启动时执行segue。 最佳答案
它不工作,因为它是在viewDidLoad中执行的,在viewDidLoad中,所有segues组件可能都不可用。例如,如果您使用的是push segue,navigation controller属性可能尚未设置,或者导航控制器尚未就绪。。。
要让它工作,您可以尝试在viewDidAppear:方法中执行此操作,但在这种情况下,您必须注意segues动画,以便它正确显示。
为了避免动画问题,并且因为我认为它更符合逻辑,您可能需要在创建此控制器之前检查用户是否已注册:
user registered=显示“基本用户页”控制器
user unregistered=显示注册控制器
关于ios - 启动时Segue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31222083/