首页 > 代码库 > iOS 强制转成横屏的方式 和 通过设备的状态来切换屏幕

iOS 强制转成横屏的方式 和 通过设备的状态来切换屏幕

强制转成横屏:

if ([[UIDevice currentDevice] respondsToSelector:@selector(setOrientation:)]) {            SEL selector = NSSelectorFromString(@"setOrientation:");            NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];            [invocation setSelector:selector];            [invocation setTarget:[UIDevice currentDevice]];            int val = UIInterfaceOrientationLandscapeRight;            [invocation setArgument:&val atIndex:2];            [invocation invoke];        }}

 方法二: 通过判断状态栏来设置视图的transform属性。

- (void)deviceOrientationDidChange: (NSNotification *)notification{    UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation];    CGFloat startRotation = [[self valueForKeyPath:@"layer.transform.rotation.z"] floatValue];    CGAffineTransform rotation;    switch (interfaceOrientation) {        case UIInterfaceOrientationLandscapeLeft:            rotation = CGAffineTransformMakeRotation(-startRotation + M_PI * 270.0 / 180.0);            break;        case UIInterfaceOrientationLandscapeRight:            rotation = CGAffineTransformMakeRotation(-startRotation + M_PI * 90.0 / 180.0);            break;        case UIInterfaceOrientationPortraitUpsideDown:            rotation = CGAffineTransformMakeRotation(-startRotation + M_PI * 180.0 / 180.0);            break;        default:            rotation = CGAffineTransformMakeRotation(-startRotation + 0.0);            break;    }    view.transform = rotation;}

 

iOS 强制转成横屏的方式 和 通过设备的状态来切换屏幕