iOS6中的界面方向检查

时间:2012-09-27 03:46:48

标签: orientation ios6

今天玩iOS6,我不得不在各种方向检查视图帧尺寸,我认为我在iOS5中理解。 (我知道自动布局在很多情况下解决了基本问题,但我仍然觉得我可能出于各种原因需要这个检查?)。

关闭自动布局后,检​​查视图尺寸会返回正确的尺寸大小,但不会返回正确的边缘。也就是说,在iPhone上的肖像.width属性= 320,在横向上.width属性= 300,而我希望300是高度尺寸的值。

这对我来说有点奇怪,因为self.view确实可以正确地缩放到窗口,但另一个设置为self.view框架的视图却没有。通过检查方向然后获得正确的数字,这很容易解决,我猜,但是我错过了一些明显的东西,或iOS6中的一些新规则?

//always gives aprox 300 for width despite device orientation
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
    screenRect = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
    screenRect = self.view.window.frame;
    NSLog(@"screen rect size = %f x %f", screenRect.size.width, screenRect.size.height);
    [imageView setFrame:screenRect];
}

//a button to check orientation. always gives aprox 300 for width despite device orientation
- (IBAction)checkScreenSize:(id)sender {
    screenRect = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
    NSLog(@"screen rect size = %f x %f", screenRect.size.width, screenRect.size.height);
    screenRect = [[UIScreen mainScreen]applicationFrame];
    NSLog(@"screen rect size = %f x %f", screenRect.size.width, screenRect.size.height);
    }

0 个答案:

没有答案