2014-09-23 33 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