android - 从 viewDidLoad() 执行 Segue

标签 android ios objective-c segue

我是 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/

相关文章:

android - 从网站获取信息到移动应用程序

ios - 在 UIScrollView 中绘制 UIImageView

iphone - Game Center - 发送和接收数据

objective-c - 从另一个 Controller 和 Nib 加载 View

c# - 填充编辑文本后启用按钮

java - 如何转储控制台登录文件

ios - 有没有办法通过 Firebase Web 在 Geofire 中手动输入位置?

ios - 谷歌地图上未显示注释或标记

java - android - 列表无法解析或不是字段

java - 我们可以在 Android 表单中为 Android 组件使用 CSS 吗?