2011-07-28 11 views
7

Stworzyłem niestandardowy UIAlertView (poprzez jego podklasę i działanie z jego funkcją show), który ma niestandardowe subviews i ma nietypowy rozmiar.Obracanie UIAlertView

Działa poprawnie po utworzeniu i wyświetleniu, jednak po obróceniu urządzenia alert obraca się, a następnie powraca do domyślnego rozmiaru.

Wszelkie pomysły na funkcje, które należy zastąpić - lub czy należy poprawić sterownik UIViewController?

Dzięki, Peter

+0

Okay, I okazało się, że zresetowanie granic * * * setNeedsDisplay w prostokąt * w orki, aby zresetować rozmiar ... ale teraz mam dziwaczny łańcuch zdarzeń za każdym razem, gdy obracam urządzenie: 1) UIAlertView wyświetla się prawidłowo, 2) UIAlertView zmniejsza się do domyślnego rozmiaru 3) Obrót UIAlertView obraca się 4) UIAlertView powraca do żądanego rozmiaru Jakieś pomysły, jak zapobiec kurczeniu się podczas animacji? –

Odpowiedz

4

Nie wiem, czy siła obracając UIAlertView pasuje wytyczne Jabłko GUI, ale można obracać go poprzez zdefiniowanie pasku stanu (pasek stanu i UIAlertView skleja)

application.statusBarOrientation = UIInterfaceOrientationLandscapeRight; 
application.statusBarOrientation = UIInterfaceOrientationLandscapeLeft; 

ale UIAlertView jest UIView, podobnie jak wielu innych, więc spróbuj tego:

- (void)didPresentAlertView:(UIAlertView *)alertView 
{ 
    [UIView beginAnimations:@"" context:nil]; 
    [UIView setAnimationDuration:0.1]; 
    alertView.transform = CGAffineTransformRotate(alertView.transform, degreesToRadian(90)); 
    [UIView commitAnimations]; 
} 
+0

Wygląda na to, że moje pytanie nie było wystarczająco jasne ... Mój UIAlertView zmienia się samoczynnie, gdy zmienia się orientacja urządzenia. Problem polega na tym, że zmienia on również rozmiar. –

+0

Mam również ten sam problem. – Raxit

+0

To nie działa –