pushViewController无法使用IOS11 SDK

问题描述 投票:0回答:2

下面的代码不会像当前在应用商店中那样更改为视图控制器。唯一的变化是新的Xcode / IOS11 SDK。我做了一些谷歌搜索,发现其他一些人有同样的问题,但能够通过删除派生数据解决,重新启动或转换animated:NO,但都没有为我工作...

代码如下:

- (void)viewDidAppear:(BOOL)animated {  
     [super viewDidAppear:animated];  

     // Set up observers etc code omitted....  

     [self.navigationController setNavigationBarHidden:YES animated:YES];    

     Home *viewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"Home"];  
     NSLog(@"Nav Controller: %@",self.navigationController); // Output: Nav Controller: <UINavigationController: 0x7fc2d182d800>  
     NSLog(@"View Controller: %@",viewController); // Output: View Controller: <Home: 0x7fc2d0717cc0>  
     [[self navigationController] pushViewController:viewController animated:YES]; // No change to different view controller.  
}  

任何帮助,将不胜感激!谢谢!

objective-c uinavigationcontroller ios11
2个回答
1
投票

我们面临同样的问题,推动视图控制器无法从viewDidAppear工作。当我们调查问题时,我们发现导航viewController在顶部有该视图但没有出现在屏幕上。尝试在DispatchQueue.main.async { }块中推动控制器它将工作。

PS。该问题已在iOS 11.1中得到解决。


-1
投票

[self.navigationController pushViewController:viewController animated:YES];

试试这个

© www.soinside.com 2019 - 2024. All rights reserved.