我有一个启动我的应用的导航控制器(rootViewController
是navigationController
)。然后在我称之为导航的一个视图中:
TabBarController *tab = [[TabBarController alloc] init];
// Presentation
[self presentViewController:tab animated:NO completion:nil];
然后其中一个选项卡调用UIImagePickerController
,然后将图像保存在另一个线程上。然后我返回主队列并运行:
dispatch_async(dispatch_get_main_queue(), ^{
[picker dismissViewControllerAnimated:YES completion:nil];
PostViewController *post = [[PostViewController alloc] init];
// Presentation
[self presentViewController:post animated:NO completion:nil];
});
但是后期视图永远不会被调用,viewDidLoad
永远不会被PostViewController.m
命中。相反,imagePicker
消失并返回tabBarController
。我该如何解决这个问题?
答案 0 :(得分:2)
假设您的PostViewController对象不是nil,则在拾取器ViewController的解除过程完成后呈现视图控制器。试试这个代码
dispatch_async(dispatch_get_main_queue(), ^{
[picker dismissViewControllerAnimated:YES completion:^{
PostViewController *post = [[PostViewController alloc] init];
// Presentation
[self presentViewController:post animated:NO completion:nil];
}];
});