2017-10-17 129 views
0

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

的代码如下:

- (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. 
} 

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

回答

0

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

PS。在iOS 11.1中解决了这个问题。

+0

我有pushViewController按照您在ObjectiveC中推荐的方式进行包装,虽然它有点作用,但它在几次推送后不再动画。 – Jargen89

+0

重要的是要注意我正在推动然后弹回到我推进的屏幕上。 – Jargen89

-1

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

试试这个

+0

没有工作,这实际上是如何开始的,但我尝试了不同的方式,我在网上找到的东西... – berr08

+0

还有其他建议吗? – berr08

+0

你有什么发现?有同样的问题,以前工作的东西都没有更多的工作在Xcode 8上,ios 11 – NaXir

相关问题