IOS屏幕旋转的检测与强行切换

释放双眼,带上耳机,听听看~!

mark – 屏幕的手动切换

[[UIDevice currentDevice]setValue:[NSNumber numberWithInteger:UIDeviceOrientationLandscapeRight]forKey:@"orientation"];
[[[self topViewController] class] attemptRotationToDeviceOrientation];

mark – 检测屏幕的切换

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientChange:) name:UIDeviceOrientationDidChangeNotification object:nil];
//回调
/**屏幕旋转的通知回调*/
- (void)orientChange:(NSNotification *)noti {
//    NSDictionary* ntfDict = [noti userInfo];
UIDeviceOrientation  orient = [UIDevice currentDevice].orientation;
switch (orient) {
case UIDeviceOrientationPortrait:
break;
case UIDeviceOrientationLandscapeLeft:
break;
case UIDeviceOrientationPortraitUpsideDown:
break;
case UIDeviceOrientationLandscapeRight:
break;
default:
break;
}
}

mark – 关于控制屏幕的切换

/**
1 left 2 right 3 left andRight 4 up
*/
@property (nonatomic,assign) NSInteger rotatingNumer;
//在appdelegate里面添加如下代码 通过rotatingNumer 来控制屏幕旋转的方向
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {
switch (self.rotatingNumer) {
case 1:
return UIInterfaceOrientationMaskLandscapeLeft;
break;
case 2:
return UIInterfaceOrientationMaskLandscapeRight;
break;
case 3:
return UIInterfaceOrientationMaskLandscapeLeft |UIInterfaceOrientationMaskLandscapeRight;
break;
case 4:
return UIInterfaceOrientationMaskPortrait;
break;
default:
return UIInterfaceOrientationMaskPortrait;
break;
}
}

人已赞赏
iOS文章

ios target -- weight todayWeight 开发

2020-4-29 16:18:02

iOS文章

iOS数据的归档与解归档

2020-4-29 17:33:02

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索