iOS7中实现子视图旋转方向控制
为了能够让父视图(地图视图)实现随意旋转,而子视图按照某种固定的方向(竖屏)显示寻找了好些方案,最后发现在iOS7中其实很简单
-(BOOL)shouldAutorotate{ if([[UIDevice currentDevice] orientation] == UIInterfaceOrientationLandscapeLeft ||[[UIDevice currentDevice] orientation] == UIInterfaceOrientationLandscapeRight) { return NO; } else{ return YES; } }
另外有人在iOS6中使用如下方式
static CGSize appScreenSize; static UIInterfaceOrientation lastOrientation; +(CGSize) screenSize{ UIInterfaceOrientation orientation =[UIApplication sharedApplication].statusBarOrientation; if(appScreenSize.width==0 || lastOrientation != orientation){ appScreenSize = CGSizeMake(0, 0); CGSize screenSize = [[UIScreen mainScreen] bounds].size; // 这里如果去掉状态栏,只要用applicationFrame即可。 if(orientation == UIDeviceOrientationLandscapeLeft ||orientation == UIDeviceOrientationLandscapeRight){ // 横屏,那么,返回的宽度就应该是系统给的高度。注意这里,全屏应用和非全屏应用,应该注意自己增减状态栏的高度。 appScreenSize.width = screenSize.height; appScreenSize.height = screenSize.width; }else{ appScreenSize.width = screenSize.width; appScreenSize.height = screenSize.height; } lastOrientation = orientation; } return appScreenSize; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。