Question

I have a UITextField in a UIAlertView. When the orientation changes, I want to update the UITextField's frame because it would otherwise overlap the UIAlertView's buttons. These are the frames:

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

How can I check if the device's orientation has changed without using the accelerometer directly?

Should it be in -[UIViewController shouldAutorotateToInterfaceOrientation:]?

Was it helpful?

Solution

Try this

if([[UIDevice currentDevice] orientation]==UIInterfaceOrientationLandscapeLeft || [[UIDevice currentDevice] orientation]==UIInterfaceOrientationLandscapeRight)
{
   //Landscape Frame
}
if([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait)
{
   //Portrait Frame
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top