如何在特定视图中停止查看旋转而不是所有视图

时间:2013-03-14 18:03:40

标签: ios objective-c

我制作应用并拥有很多观点 如何停止在应用程序中从我的视图中的一个视图中旋转?

我可以获得帮助

2 个答案:

答案 0 :(得分:0)

您可以覆盖UIViewCovtroller的以下功能,或者查看放置视图的控制器。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
 return (interfaceOrientation == UIInterfaceOrientationPortrait ||
   interfaceOrientation == UIInterfaceOrientationLandscapeLeft || 
   interfaceOrientation == UIInterfaceOrientationLandscapeRight ||
   interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown );
}

修改

对于ios 6及以上版本,请使用以下方法

- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;// return only the supported orientation
}

答案 1 :(得分:0)

如果您正在使用TabViewController或NavigationController,其中某些视图未返回UIInterfaceOrientationMaskPortrait,则它将无效。更改代码,以便所有ViewControllers返回UIInterfaceOrientationMaskPortrait。

或者,您可以使用此类别(如果使用UINavigationController)

@interface UINavigationController (RotationPortrait)
    -(NSUInteger)supportedInterfaceOrientations;
@end

@implementation UINavigationController (RotationPortrait)
-(NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}
@end