我創建了三個視圖控制器,名爲A
,B
和C
。 C
視圖控制器是B
視圖控制器的子視圖,同時執行A
的視圖被推送到B
。 C
的視圖控制器委託方法viewWillAppear
未調用。viewWillAppear不會在iOS中調用
0
A
回答
0
你說的是c的視圖控制器是一個子視圖B.
我假設你做這樣的事情:
UIViewController *viewControllerB = [[UIViewController alloc] init];
UIViewController *viewControllerC = [[UIViewController alloc] init];
//add C's view to B
[[viewControllerB view] addSubview:[viewControllerC view]];
如果是這樣,那麼你需要的viewController添加C作爲一個孩子的viewController B的
//you need to set C to be a child view controller of B
[viewControllerB addChildViewController:viewControllerC];
這應該確保正確調用相應的viewWill/viewDid方法。
+0
謝謝你這幫了我很多 – datha 2013-04-03 09:30:26
+0
不客氣:] – CaptainRedmuff 2013-04-03 09:31:08
1
問題出在IOS版本。
同時加入了另一個視圖控制器的視圖(viewControllerC.view)作爲副視點現有的視圖控制器(viewControllerB)viewWillAppear:()
和viewControllerC 的viewDidAppear:()
,將不會觸發在IOS 5.0早期版本。如果您需要呼叫,則通過檢查設備ios版本手動調用此方法。
您可以檢查IOS版本和手動調用委託方法是這樣的...
[viewControllerB addSubview:viewControllerC.view];
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0)
{
[viewControllerC viewWillAppear:YES];
[viewControllerC viewDidAppear:YES];
}
相關問題
- 1. 爲什麼viewWillAppear不會被調用?
- 2. 不調用viewWillAppear中或viewWillRotate
- 3. popviewcontroller不調用viewWillAppear中
- 4. didDeselectRowAtIndexPath在viewWillAppear在UITableViewController中不調用
- 5. 爲什麼viewDidAppear/viewWillAppear不會在嵌套結構中調用?
- 6. viewWillAppear中,viewDidAppear不會被調用,不費一槍
- 7. viewWillAppear調用但viewDidAppear不會調用後pushViewController
- 8. Viewwillappear調用但viewdidappear不叫
- 9. viewDidLoad中被調用,但viewWillAppear中不叫
- 10. viewWillAppear在UINavigationController上返回時不會調用
- 11. Popping ViewController在返回時不會調用viewWillAppear
- 12. viewWillAppear中VS viewDidLoad中IOS
- 13. UIModalTransitionStylePartialCurl不會觸發ViewWillAppear
- 14. Swift removeFromSuperview不會觸發viewWillAppear
- 15. 的iOS 5:-viewWillAppear在iPad上
- 16. viewWillAppear沒有在UITableViewController中調用?
- 17. viewWillAppear沒有在BCTabBarController中調用
- 18. ViewWillAppear不會在模態控制器中調用。這裏有什麼問題?
- 19. animateWithDuration在viewWillAppear中的ios 9 Objective C的
- 20. viewWillAppear中不叫
- 21. viewWillAppear中不叫
- 22. viewWillAppear和viewDidAppear不調用,而viewDidLoad調用什麼時在UIViewController
- 23. 從iOS登錄不會在MongoDB中創建用戶,不會調用回調
- 24. UITableViewController不能調用viewWillAppear,viewDidAppear等
- 25. 在viewWillAppear中使用setNavigationBarHidden不起作用
- 26. UITabViewController,viewWillAppear沒有被調用?
- 27. viewWillAppear只被調用一次
- 28. viewWillAppear何時被調用?
- 29. ViewWillAppear沒有被UISplitViewController調用
- 30. 靜態UITableViewCell在viewWillAppear中更改不會反映在顯示中
c視圖控制器是否顯示? – iPatel 2013-03-28 09:01:02
請顯示代碼將C作爲「子視圖」添加到B的代碼。如果您不將其添加爲子視圖控制器,則不會獲得viewWillAppear消息。 – jrturton 2013-03-28 09:02:01