在使用Three20开发ipad的应用过程中,由于 iPad1到4之间的差别,导致了应用无法同时支持旋转。
Three20中的TTViewController可以支持6.0以上的旋转,详细见momo的有关three20旋转解决方法,这里不再说明,我这里要说明的是TTViewController如何同时支持5.0,5.1iPad在Landscape模式下工作,
1.作一个基于Three20进行开发的应用,它的Navigator是使用rootViewController是使用TTBaseNavigationController来作为基类,因此,要使所有的界面都旋转就需要对该类进行修改。修改内容如下:
///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)viewDidLoad {
[super viewDidLoad];
/// 确定旋转
if( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
{
self.view.transform = CGAffineTransformMakeRotation(-M_PI/2); //旋转设定
CGRect rc = [[UIScreen mainScreen] bounds]; //确定旋转之后的frame尺寸
if (rc.size.height > rc.size.width)
{
CGFloat fTemp = rc.size.height;
rc.size.height = rc.size.width;
rc.size.width = fTemp;
self.view.bounds = rc;
}
}
}
2.重新编译 Three20库
3.重新编译应用,即可以正常工作。

本文介绍如何解决使用Three20开发的iPad应用在不同iOS版本间支持屏幕旋转的问题。通过修改TTBaseNavigationController基类,使得应用能在iPad1到iPad4上支持横向模式。
1891

被折叠的 条评论
为什么被折叠?



