我是 iOS 新手。我有一个与我正在工作的 Android 项目非常相似的要求。要求是在我的 LoginActivity onCreate()
中,我正在检查某些条件,如果条件为真,那么我将使用 Intent
启动我的下一个 Activity。
我正在尝试执行与我的 iOS 应用程序相同的功能。在我的 LoginViewController viewDidLoad()
中,在检查了一些条件后,我调用了 [self performSegueWithIdentifier:@"myNextControllerSegue"sender:nil];
。
但是,我的 ViewController 没有更改为下一个 View Controller 。任何帮助将不胜感激。
最佳答案
需要在正确的位置执行 segue。你试图在层次结构中的第一个 View 之前加载另一个 View 。因此调用 viewDidAppear 你有一个完全加载的 View 要修改。
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self performSegueWithIdentifier:@"myNextControllerSegue" sender:nil];
}
要消除闪烁,只需在 viewWillApear
方法中隐藏 View 即可。
否则,作为快速搜索,您也可以像下面那样在主线程中进行搜索
dispatch_async(dispatch_get_main_queue(), { () -> Void in
//perform segue
})
关于android - 从 viewDidLoad() 执行 Segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44887587/