美文网首页
2021-11-09 iOS全局禁止横屏,特定页面全屏解决方法

2021-11-09 iOS全局禁止横屏,特定页面全屏解决方法

作者: cc帅气的昵称 | 来源:发表于2021-11-09 10:02 被阅读0次

 #1. 全局禁止横屏

Appdelegate.m添加如下代码:

-(UIInterfaceOrientationMask)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window{

if(self.allowRotation){//如果设置了allowRotation属性,支持全屏

return UIInterfaceOrientationMaskAll;}

returnUIInterfaceOrientationMaskPortrait;//默认全局不支持横屏

}

#2. 在需要支持横屏的界面改变allowRotation属性

//进入全屏-(void)begainFullScreen{

AppDelegate*appDelegate=(AppDelegate*)[[UIApplication sharedApplication]delegate];appDelegate.allowRotation=YES;

}

// 退出全屏-(void)endFullScreen{

AppDelegate*appDelegate=(AppDelegate*)[[UIApplication sharedApplication]delegate];

appDelegate.allowRotation=NO;

//强制归正:

if([[UIDevice currentDevice]respondsToSelector:@selector(setOrientation:)])

{

SEL selector=NSSelectorFromString(@"setOrientation:");

NSInvocation*invocation=[NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];

[invocation setSelector:selector];

[invocation setTarget:[UIDevice currentDevice]];

intval=UIInterfaceOrientationPortrait;

[invocation setArgument:&val atIndex:2];

[invocation invoke];

}

}

相关文章

网友评论

      本文标题:2021-11-09 iOS全局禁止横屏,特定页面全屏解决方法

      本文链接:https://www.haomeiwen.com/subject/icjmzltx.html