2014-02-17 345 views
0

我有一個viewController與4個按鈕(HomePage),然後與3個viewControllers的TabBarController。 我想用TabBarController的viewControllers作爲通過tabBar圖標回到「HomePage」的一種方法。我已將我創建的一個名爲「HomeViewController」的自定義類關聯到該viewController。見下面爲什麼我的自定義委託方法不被調用?

enter image description here

HomeViewController .H文件圖。 作爲視圖被加載它調用委託我已經創建了一個方法「returnToHomepage」

enter image description here

HomeViewController .m文件 一旦一個協議。 enter image description here

在我的HomepageViewController .H文件中我確定該文件符合該協議。 enter image description here

HomepageViewController .m文件

我實例HomeViewController的實例並設置委託給自己,但 returnToHomePage方法不會被調用!不知道我錯過了什麼... enter image description here

回答

1

我認爲your're在委託設置之前調用委託方法。

當你打電話的alloc-INIT控制器,它初始化並viewDidLoad中被調用,...然後你設置委託......所以這

[self.delegate returnToHomepage]; 

調用之前

homeVC.delegate = self; 
+0

我有它在viewDidLoad方法(見圖片「 – user3071579

+0

@ user3071579你是對的,這是令人尷尬的,我很抱歉,但我編輯了答案。 – Merlevede

1

您在viewDidLoad中創建的HomeViewController與屏幕上實際顯示的不一樣。您需要使用UITabBarController的viewControllers方法訪問它,並將其設置爲委託。

相關問題