2013-06-11 5 views
11
veraltet

Ich bin eine Warnung in XCode bekommen:PresentModalViewController: animiert

'presentModalViewController:animated:' is deprecated: first deprecated in iOS 6.0 

auf dieser Codezeile:

[self presentModalViewController:initialSettingsVC animated:YES]; 

Ich habe versucht, sie zu ersetzen, wie in der mit documentation vorgeschlagen:

[self presentModalViewController:initialSettingsVC animated:YES completion:nil]; 

Ich erhalte jetzt einen Fehler in XCode:

Keine sichtbaren @interface für 'Viewcontroller spricht der Wähler 'PresentModalViewController: animated: Abschluss:'

Irgendwelche Ideen?

+1

Sie die Methode falsch geschrieben haben. Es ist 'presentViewController: animated: completion'. Entferne das 'Modal'. – bbarnhart

+0

@bbarnhart Sie haben Recht. Dies ist die Lösung. – poiuytrez

Antwort

4

Sie möchten die folgende

- (void)presentViewController:(UIViewController *)viewControllerToPresent 
         animated: (BOOL)flag completion:(void (^)(void))completion; 

settting UIModalPresentationStyle und UIModalTransitionStyle für viewController verwenden, um die modale Animation/Präsentation erhalten Sie suchen

12

Verwenden folgenden .......

.
if ([self respondsToSelector:@selector(presentViewController:animated:completion:)]){ 
    [self presentViewController:test animated:YES completion:nil]; 
} else { 
    [self presentModalViewController:test animated:YES]; 
} 

fand ich Here

5

ersetzen

[self presentModalViewController:initialSettingsVC animated:YES completion:nil]; 

Um

[self presentViewController:reader animated:YES completion:nil]; 
+1

Ab ios 10 wird dies keine modale Präsentation tun. –