0

Ich habe ein UITextField in einem UIAlertView. Wenn sich die Ausrichtung ändert, möchte ich den Rahmen des UITextField aktualisieren, da er sonst die Schaltflächen von UIAlertView überlappen würde. Dies sind die Rahmen:Rahmen nach Schnittstellenausrichtung

portrait: CGRectMake(12.0, 45.0, 260.0, 26.0) 
landscape: CGRectMake(12.0, 30.0, 260.0, 26.0) 

Wie kann ich überprüfen, ob die Ausrichtung des Geräts ohne mit dem Beschleunigungsmesser direkt verändert hat?

Sollte es in -[UIViewController shouldAutorotateToInterfaceOrientation:] sein?

Antwort

2

Versuchen Sie, diese

if([[UIDevice currentDevice] orientation]==UIInterfaceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation]==UIInterfaceOrientationLandscapeRight) 
{ 
    //Landscape Frame 
} 
if([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait) 
{ 
    //Portrait Frame 
} 
+0

Ja, aber wie funktioniert meine app wissen, wann es tatsächlich gedreht wird? –

+0

Wenn Sie Ihr Gerät drehen, wird dieser Delegat aufgerufen - (BOOL) sollteAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation { – iPrabu