我得到一個警告「嘗試呈現其視圖不在Windows層次結構中的ViewController ..」來來去去。雖然所有的工作都要計劃,但我不喜歡警告,所以我想更好地理解從VC到另一個VC的所有可用方式。iOS不同的方式從一個VC到另一個
我知道3種方式,請糾正我,如果我錯了。
1-我使用一個動作在VC1中創建一個按鈕。我從創建到VC1 VC2一個賽格瑞一個名稱(這裏VC1ToVC2)和我的操作方法,我稱之爲SEGUE:
[self performSegueWithIdentifier:@"VC1ToVC2" sender:self];
2 - 我在VC1,並從該按鈕創建一個按鈕,我創建了一個Segue公司直接到VC2。
3-我在VC1中用動作創建一個按鈕。我要確保我的VC2有一個故事板的名稱,然後我寫在我的行動:
UIViewController *svc = [self.storyboard instantiateViewControllerWithIdentifier: @"VC2"];
[self presentViewController:svc animated:YES completion:nil];
我的印象是,3路主要是用來「去的地方」,然後「回來」了同一個地方與
[self dismissViewControllerAnimated:YES completion: nil];
喜歡當uisng幫助例如。
way1和way2的區別是什麼?我嘗試了兩個,他們都工作。
這三種方式之一是否更容易導致「窗口層級...」消息?
如果沒有我做任何事情,這樣的信息如何來去?這使得難以跟蹤。
任何幫助將不勝感激。謝謝。
謝謝王子的清晰解釋。 其中一個比另一個更好嗎? 哪一個有更多的「機會」導致窗口層次結構問題,或者它與它無關? – Clararhea
它與窗口層次結構問題無關如何根據需求顯示視圖控制器的方法 –
任何想法爲什麼警告「嘗試呈現其視圖不在Windows層次結構中的ViewController ..」來來去去,Prince? – Clararhea