2012-05-08 29 views
0

我有一個主視圖控制器,它在應用啓動時顯示,並且它包含一個帶有圖像中心凸起按鈕的選項卡欄捕獲。我已經呈現UIimagepicker控制器和將圖像上載後我需要關閉該模型並調用(UIimagepicker)的方法在主視圖控制器如何在解除模型視圖時從提供的模式視圖控制器調用rootviewcontroller中的方法

對於我寫的這樣的代碼 h文件的模型視圖控制器

ViewController *viewController; 
@property (retain) ViewController *viewController; 

.m文件

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 

    if(buttonIndex == 0) 
    { 

     [self dismissModalViewControllerAnimated:YES]; 
     [viewController btnTap]; 

     NSLog(@"uploaded"); 
    } 
    else{ 
     [self dismissModalViewControllerAnimated:YES]; 
    } 

} 
在視圖控制器的.m

-(void)btnTap{ 

     [self.actForImage showFromTabBar:tabBarController.tabBar]; 
     // act for image is the action sheet 
     // this method will be called when click on the center button of tabbar 
} 

我保留了一個斷點並檢查了 - (void)btnTap方法未被調用。 是否有任何其他方式來調用主視圖控制器中的方法。

回答

1

代表是答案!

你需要做的是在你的ModalViewController中設置一個協議。而不是直接在你的modalViewController中關閉它,你應該在委託方法中解僱它。

退房這樣的回答:

Can't dismiss modal view when tap a button

這是解僱的委託類的modalviewcontroller的方式。 在你關閉ViewController類後,你可以調用任何你喜歡的方法。編輯: 更多的答案寫在評論。

+0

我已經嘗試瞭解決方案,但它不適合我。因爲我在模型VC中也使用了導航。我想在最後一個屏幕上關閉視圖,我正在做[self dismissModalViewControllerAnimated:YES];但我認爲根據你的答案,只能從modelVC的代表可以被稱爲 – krishna

+0

那麼..調用ModalVC的VC可以調用一個類來安排委託,讓這個單獨的類用你的導航創建你的多個視圖最重要的。每次導航時,都會向ModalVC內的控制器類發送消息,並在完成後,不直接解除消息,而是向控制器發送一條消息,讓他將委託處理到調用ModalVC的ViewController。如果你知道我的意思。 –

+0

這意味着你有一個叫做ModalVC的VC類。您有一個Controller類,用於安排ModalVC中的導航。您有從Controller類創建的多個視圖,當它們完成時,他們會向Controller發送消息,然後創建所需的下一個視圖。當你在ModalVC的最後一個屏幕上(或者當你想關閉你的modalVC時),你發送一條消息給你的Controller類,並告訴他以我上面描述的方式解除ModalVC。 –

相關問題