我創建了三個視圖控制器,名爲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中或viewWillRotate
- 2. popviewcontroller不調用viewWillAppear中
- 3. didDeselectRowAtIndexPath在viewWillAppear在UITableViewController中不調用
- 4. 爲什麼viewDidAppear/viewWillAppear不會在嵌套結構中調用?
- 5. viewWillAppear中,viewDidAppear不會被調用,不費一槍
- 6. viewDidLoad中被調用,但viewWillAppear中不叫
- 7. viewWillAppear在UINavigationController上返回時不會調用
- 8. viewWillAppear中VS viewDidLoad中IOS
- 9. UIModalTransitionStylePartialCurl不會觸發ViewWillAppear
- 10. Swift removeFromSuperview不會觸發viewWillAppear
- 11. viewWillAppear沒有在UITableViewController中調用?
- 12. ViewWillAppear不會在模態控制器中調用。這裏有什麼問題?
- 13. viewWillAppear中不叫
- 14. 從iOS登錄不會在MongoDB中創建用戶,不會調用回調
- 15. viewWillAppear和viewDidAppear不調用,而viewDidLoad調用什麼時在UIViewController
- 16. UITableViewController不能調用viewWillAppear,viewDidAppear等
- 17. 在viewWillAppear中使用setNavigationBarHidden不起作用
- 18. viewWillAppear只被調用一次
- 19. viewWillAppear何時被調用?
- 20. popViewControllerAnimated會影響viewwillappear?
- 21. 不會調用viewWillAppear而從iPhone中的視圖控制器彈出
- 22. 在ViewDidAppear或ViewWillAppear調用becomeFirstResponder()的位置?
- 23. 在viewWillAppear調用多個方法與TabBarApplication
- 24. ViewDidAppear/viewWillAppear中沒有被調用
- 25. ios - 手動調用viewWillAppear()時發生錯誤(Objective-C)
- 26. QLPreviewController委託方法不會在iOS 10中調用,但會在iOS 10之前運行時調用。
- 27. popViewController/viewWillAppear中沒有的iOS 5
- 28. ios 10負載視圖和viewwillappear不會從UInavigationcontroller呈現視圖控制器後調用
- 29. iOS Geofencing不會調用'didEnterRegion',didExitRegion,'didStartMonitoringForRegion'
- 30. viewWillAppear不叫
c視圖控制器是否顯示? – iPatel 2013-03-28 09:01:02
請顯示代碼將C作爲「子視圖」添加到B的代碼。如果您不將其添加爲子視圖控制器,則不會獲得viewWillAppear消息。 – jrturton 2013-03-28 09:02:01