2012-09-20 15 views

Odpowiedz

6

viewDidUnload

Zarówno viewDidUnload i viewWillUnload nie są już nazywany przez iOS6. Uwagi do wydania Xamarin dla MonoTouch 6 obejmują to, a także Apple documentation.

shouldAutorotateToInterfaceOrientation

Dwie nowe metody (w iOS6, dostępne w MonoTouch) może być zmieniona, aby uzyskać ten sam rezultat. Zobacz Apple documentation dla selektora shouldAutorotateToInterfaceOrientation, aby uzyskać więcej szczegółowych informacji.

Należy pamiętać, że shouldAutorotateToInterfaceOrientation jest nadal wywoływana (jest przestarzała i odradzana do wykorzystania w przyszłości, ale nadal dostępna, jeśli obsługuje starszą wersję systemu iOS).

+0

Jeśli jestem kierowania wersji 5.1 dlaczego ja wciąż się te ostrzeżenia? Jeśli urządzenie działa w wersji 5.1, czy zostaną wywołane metody? –

+0

Ponieważ MonoTouch 6 jest * zsynchronizowany * z interfejsem API iOS6, a '[Obsolete]' umożliwia kompilatorowi C# wydawanie ostrzeżeń (ale kompilator nie kieruje tym, co kierujesz). iOS 5.1 pozostaje niezmieniony, więc 'viewDidUnload',' viewWillUnload' będzie wywoływany tak jak wcześniej (tzn. to system iOS, a nie MonoTouch, który przestaje je wywoływać). – poupou

+0

Czy to oznacza, że ​​istnieje jeden zestaw metod (lub czeków) wydanych w iOS 6 i kompletnie inny zestaw w starszych wersjach? Rozumiem, że ten system rotacji przechodzi obecnie przez informacje w plist i metodę SupportedInterfaceOrientations, ale czy ta metoda jest obsługiwana i wywoływana w starszych wersjach? Wątpię, aby każdy użytkownik naszych aplikacji zaktualizował system do wersji iOS 6, więc lepiej byłoby uzyskać bardziej przejrzysty obraz tego, co powinienem zrobić z tymi przestarzałymi ostrzeżeniami. Na razie po prostu ich ignoruję, ale nie mogę powiedzieć, że to też jest bezpieczne. –

7

ViewDidUnload() można po prostu usunąć. Jeśli masz tam kod, musisz przenieść go do ViewWillDisappear() i odpowiednika do ViewWillAppear(). Odpowiednie rozmowy z WWDC 2012 to odcinek 236 (Ewolucja kontrolerów widoku) i 200 (Co nowego w Cocoa Touch).

ShouldAutoRotateToInterfaceOrientation() zastępuje SupportedInterfaceOrientations(). Zobacz tutaj: http://dhilipsiva.com/2012/07/25/ios-6-ui-interface-orientation-shouldautorotatetointerfaceorientation-not-working.html