2012-05-26 46 views
1

dismissModalViewControllerAnimated我也有兩個視圖控制器類,一個firstviewController其他secondViewController在第一視圖 - 控制我把這[self dimissModalViewControllerAnimation:NO]; 到dimiss的觀點!現在我需要從另一個secondViewController類變暗相同的視圖。從另一個視圖控制器類

那麼,我需要調用超在!

[super dismissModalViewControllerAnimated:NO]; 

或者我是否需要創建任何協議來解散視圖!來自另一個secondViewController類。

可以在任何指導我這個問題。

+0

做你的第二個視圖控制器類繼承的第一個?還是他們都分開UIViewController子類? – Nate

+0

我認爲,協議就足夠了您的需求.. –

+0

@Nate兩者都是獨立的UIViewController – kiran

回答

1

您可以在firstViewController的viewDidLoad註冊的通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"MyNotification" object:nil]; 

添加事件處理程序中firstViewController

- (void)handleNotification:(NSNotification*)note { 
    [self dismissModalViewControllerAnimated:NO]; 
} 

然後你就可以在secondViewController

觸發事件
[[NSNotificationCenter defaultCenter] postNotificationName:@"MyNotification" object:nil ]; 
+0

!其完美的使用通知 – kiran

1

您應該只使用super w母雞你重載的方法定義,例如:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.title = @"Login/Signup"; 
} 

通常情況下,如果你想告訴一個視圖從另一個觀點做一些事情,委託是你的朋友。您可以創建一個弱delegate變量以被解僱的視圖控制器的引用,並調用[delegate dismissModalViewControllerAnimated:NO];

+0

我假設你的意思是說,你會抱到**視圖控制器參考**,將做解聘,因爲'UIViewController'已'dismissModalViewControllerAnimated:' – Nate

+0

我做到了。接得好。我更新了我的帖子 –

相關問題