2012-09-25 78 views
0

我遇到了dismissmodalview的問題。它顯然在ios 6中貶值了。任何人都可以提出修復建議。我試過這個代碼,但仍然提出警告。解僱modalView

if ([[self parentViewController] respondsToSelector:@selector(dismissModalViewControllerAnimated:)]){ 

    [[self parentViewController] dismissModalViewControllerAnimated:YES]; 

} else { 

    [[self presentingViewController] dismissViewControllerAnimated:YES completion:nil]; 
} 

任何人都可以提出任何建議。基本上我想解僱我在視圖控制器中使用的模態視圖。

adrian

回答

6

你試過了嗎?我在我的一個項目中成功使用了它。

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

謝謝安迪。就是這樣。我想我忘記了,modalviewcontroller實際上是一個視圖控制器。再次感謝你的幫助。 –

1

由於在iOS 6中不推薦使用選擇器並且使用它,所以會收到警告。如果您的目標iOS 5及以上版本,則不應使用dismissModalViewControllerAnimated:

如果你確實需要使用它,你可以調用performSelector:像這樣:

if ([[self parentViewController] respondsToSelector:@selector(dismissModalViewControllerAnimated:)]){ 
    [[self parentViewController] performSelector:@selector(dismissModalViewControllerAnimated:) withObject:@YES]; 
} 

一句忠告:它不被視爲良好做法,以便自行關閉。你應該爲你的模態視圖控制器創建一個委託協議,並通過模態的委託來呈現視圖控制器。

+0

感謝利奧。我會看看代表的建議。我正在使用此代碼來升級我的一個應用程序,但如果這不起作用,我想我必須檢修代碼並重寫它。再次感謝利奧。 –