我的 iphone 应用程序支持纵向和横向。为了在新的 iphone 5 中做到这一点,iOS 6 引入了一个称为自动布局约束的新属性。但是我需要同时支持我的应用程序 iOS 5 和 iOS 6。所以我不能使用这个约束。有没有办法在不使用自动布局的情况下做到纵向和横向?
问问题
2218 次
1 回答
2
是的,你可以很容易地做到这一点。
对于 iOS6
UIViewControllers,其中你只需要PORTRAIT模式,写这些函数
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationMaskPortrait);
}
对于也需要 LANDSCAPE 的 UIViewController,将遮罩更改为全部。
- (NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationMaskAllButUpsideDown);
//OR return (UIInterfaceOrientationMaskAll);
}
现在,如果您想在方向更改时进行一些更改,请使用此功能。
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
}
对于 iOS5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
return YES;
}
return NO;
}
于 2012-10-09T05:45:10.643 回答