有時候在present一個viewController時, 會發現沒反應, 然後如果你發現了一個錯誤訊息如下:
Warning: Attempt to present <SecondViewController: 0x7fb54b523240> on <ViewController: 0x7fb54b61e7f0> whose view is not in the window hierarchy!
這是代表你使用了一個目前螢幕上看不見, 抑或是說, 不是最上層的view來present這一個SecondViewController.
如果你不能確定目前螢幕上最上層的view是哪一個,
要確定你抓到的viewController一定是"可見的"最上層的viewController,
可以用以下方法
Warning: Attempt to present <SecondViewController: 0x7fb54b523240> on <ViewController: 0x7fb54b61e7f0> whose view is not in the window hierarchy!
這是代表你使用了一個目前螢幕上看不見, 抑或是說, 不是最上層的view來present這一個SecondViewController.
如果你不能確定目前螢幕上最上層的view是哪一個,
要確定你抓到的viewController一定是"可見的"最上層的viewController,
可以用以下方法
- (UIViewController*) mostTopController { UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController; while (topController.presentedViewController) { topController = topController.presentedViewController; } return topController; }
留言
張貼留言