2014-09-23 34 views
0

我从这样的故事板加载的ViewController:无视警告有关分离ViewControllers

SSContentViewController* contentViewController = 
    [[UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil] 
    instantiateViewControllerWithIdentifier:@"settingsViewController"]; 

,并把它添加到我的ViewController阵列:

[self.viewControllers addObject:contentViewController]; 

的SettingsViewController里面我有礼物一个SEGUE一个模态视图控制器。如果我执行此segue,我会得到一个“在独立视图控制器上呈现视图控制器不鼓励” - 在控制台输出中发出警告。

但它没有错。一切都按预期工作。忽略此警告是否安全?

编辑:

的问题是,在我执行的赛格瑞的ViewController被添加到我的RootViewController的有:

[rootVC.view addSubview:viewController.view]; 

所以我知道它是分离的。但即使有这样的警告事情正在工作,因为他们应该也不会产生视觉错误等...

+0

如果你发现下面的答案有用接受它。谢谢。 – bllakjakk 2015-02-27 12:02:03

+0

但它没有解决问题... – 2015-02-27 13:39:45

回答

0

你应该实际使用presentViewcontroller和dismissviewcontroller来避免这种情况。

而不是添加使用的:

[self.view.window.rootViewController presentViewController:contentViewController animated:YES completion:nil]; 

并从以下模型视图使用辞退:

[self dismissViewControllerAnimated:YES completion:nil]; 

编辑01: 的帧率下降尝试如下:

[picker dismissViewControllerAnimated: YES completion:^{ 

     [self performSelector:@selector(reinit) withObject:nil afterDelay:2]; 

    }]; 
+1

这是产生相同的警告消息。但作品也如预期... – 2014-09-23 14:04:01

+0

更新请立即尝试。 – bllakjakk 2014-09-23 14:06:28

+0

当然,我明白!而且,这是有效的。但它让我感到另一个问题。在ViewController被解散后,帧速率从60 FPS下降到大约40 FPS,滚动和其他一切都不再流畅。如果我这样做,我仍然会得到这个警告,但它不会影响渲染性能。我正在使用背景中的UIVisualEffectView,这似乎是FPS丢弃的问题 - 在分离的视图控制器上呈现ViewController时不会发生这种情况。 – 2014-09-23 14:11:49