2012-03-10 10 views
5

Jestem całkiem nowy tutaj. Mam problem z nowym popover w iOS 5.1 w UISplitView. (Przed 5.1 kontroler widoku głównego został przedstawiony w okienku podręcznym, ale teraz jest po prostu przesuwany w lewo). Gdy moje urządzenie pracuje w trybie portretowym i otrzymuje ostrzeżenie o pamięci, główny kontroler widoku zostaje zwolniony; a kiedy naciśnie przycisk paska narzędzi, aby przesunąć się w widoku głównym, ładuje się ponownie. Jednak po ostrzeżeniu o pamięci jest prezentowany w trybie pełnoekranowym, a nie tylko w rozmiarze oryginalnego widoku głównego. (Kiedy obracam urządzenie do pozycji poziomej i z powrotem do portretu, odzyskuje ona właściwy rozmiar).UISplitWyświetlanie nowego pop-susu w trybie pełnoekranowym po ostrzeżeniu o zapamiętywaniu w iOS 5.1

Przed iOS 5.1 zawsze był prezentowany w okienku popover o prawidłowym rozmiarze.

Ktoś ma pomysł, jak to poprawić?

Próbowałem ustawić rozmiar ramki widoku głównego, ale nie rozwiązuje problemu.

Każda pomoc jest doceniana!

+0

Mam to samo pytanie. Czy ten suwak można dezaktywować? Preferuję popover. Być może kompilacja ze starym bazowym SDK jest rozwiązaniem, nie wiem. – Ricardo

Odpowiedz

5

miałem ten sam problem, ale użyłem tego kodu, aby rozwiązać ten problem:

-(void)splitViewController:(UISplitViewController *)svc popoverController:(UIPopoverController *)pc willPresentViewController:(UIViewController *)aViewController 
{ 
    aViewController.view.frame = CGRectMake(0, 0, 320, self.view.frame.size.height); 
} 

Podobno po otrzymaniu ostrzeżenia pamięci, kontroler widok zostanie wydana, więc kiedy to prezentuje się ponownie, pobiera rozmiar z widoku rodzica, który jest pełnoekranowy. Musisz więc zresetować ramkę za każdym razem, gdy zostanie załadowany.

+0

Wow, świetnie! Dziękuję Ci bardzo. Działa to idealnie! :) – Joxy

0

Miałem ten sam problem.

Powinieneś dodać poniższy kod do AppDelegate.

splitViewController.presentsWithGesture = NO;

+0

Zauważyłem, że musiałem ustawić to przed wyświetleniem splitViewController (przed dodaniem jego widoku do widoku okna), lub nie miałoby to żadnego efektu. W każdym razie nie przywraca to nowego okna przesuwnego do starego popover, po prostu usuwa możliwość pokazania go gestem machnięcia w widoku szczegółów. – arlomedia

Powiązane problemy