3 回答
TA贡献1802条经验 获得超6个赞
简单,但效果很好。iOS 7.1和8
AppDelegate.h
@property () BOOL restrictRotation;
AppDelegate.m
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if(self.restrictRotation)
return UIInterfaceOrientationMaskPortrait;
else
return UIInterfaceOrientationMaskAll;
}
ViewController
-(void) restrictRotation:(BOOL) restriction
{
AppDelegate* appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
appDelegate.restrictRotation = restriction;
}
viewDidLoad
[self restrictRotation:YES]; or NO
TA贡献1712条经验 获得超3个赞
您的视图控制器将永远不会旋转到应用程序本身不支持的任何位置。您应该启用所有可能的旋转,然后在不应旋转的视图控制器中放入以下行
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
在ChatView中,应为:
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
如果您需要在轮换之后更改布局,则应对子视图进行适当的更改
- (void)viewWillLayoutSubviews
使用self.view.bounds检查的电流的大小view,因为self.view.frame旋转后也不会改变。
- 3 回答
- 0 关注
- 494 浏览
添加回答
举报