2011-03-06 86 views
1

我已经在纵向模式下设置了所有视图,然后相应地设置了自动调整大小掩码,以便随着方向变化自动调整视图的大小....然而,这似乎工作为那些已经显示的视角确定。如果我在横向模式下加载任何新的意见,而我得到的加载视图的框架上倒宽度和高度值。根据设备方向在alloc/init上设置正确的UIView帧大小

我必须基于方向为每一个主要观点来计算帧的大小? 例如,而不是

UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0,0,500, 100)]; 

我必须做的:

CGRect frame; 
if([UIDevice orientation] == UIDeviceOrientationLandscape){ 
    frame = CGRectMake(0,0,100,500) 
}else{ 
    frame = CGRectMake(0,0,500,100) 
} 
UIView* view = [[UIView alloc] initWithFrame:frame]; 

这似乎有点啰嗦给我,因为自转视图一旦被加载的作品完美!

你如何管理视图帧?

感谢

回答

2

我使用[[UIScreen mainScreen] applicationFrame];管理我的看法帧。

构建通用应用程序时也非常有用,因为您可以使用它来设计可在两个设备上正确显示的视图。

相关问题