在使用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.重新編譯應用,即可以正常工作。