小胖说事30------iOS 强制转成横屏的方式
来源:互联网 发布:淘宝不能用 编辑:程序博客网 时间:2024/05/01 13:02
一直遇到这个问题,今天终于找到了解决方法.
在我们的项目中经常遇到横竖屏切换,而又有某个特定的界面必须是特定的显示方式(横屏或竖屏).这就需要如下的处理了.
强制转成横屏: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;}
说明一下:如果实现了下边的两个方法,你的应用程序在初始化的时候有多少个controller就会走多少次下边两个方法。showldAutorotate这个方法是再你即将旋转屏幕的时候,就会再次调用,只要在这里判断好YES或者NO就好了。在你需要的时候通过shouldAutorot这个变量打开,不需要的时候关闭就可以了。有什么不明白的,可以加入上边的QQ群,里边问我。
-(BOOL)shouldAutorotate //是否支持旋转,如果为NO,则下边的方法就不会调用,如果为YES,才会调用{ if (!shouldAutorot) { return NO; }else{ return YES; }}-(NSUInteger)supportedInterfaceOrientations{ return UIInterfaceOrientationMaskAllButUpsideDown;}
0 0
- 小胖说事30------iOS 强制转成横屏的方式
- iOS 强制转成横屏的方式
- iOS 强制转成横屏的方式
- iOS 强制转成横屏的方式
- iOS 强制转成横屏的方式
- CYC - 强制转成横屏的方式
- 强制转成横屏
- ios强制横屏
- iOS 强制横屏
- iOS强制横屏
- iOS强制横屏
- ios强制横屏
- iOS强制横屏
- iOS VC的强制横屏
- ios开发 强制横屏的实现
- 强制横屏的一种实现 ios
- 强制横屏的一种实现 ios
- iOS 强制横屏的方法
- 使用secureCRT连接Ubuntu服务器
- poj 1789 Truck History(Prim)(中等)
- Netty实现服务端客户端长连接通讯及心跳检测
- JStorm学习笔记
- 使用java读取url网络文件
- 小胖说事30------iOS 强制转成横屏的方式
- 欢迎使用CSDN-markdown编辑器
- F - Assassin’s Creed
- Docker之常用命令
- android的Thread、Runnable、Asyntask的区别与联系
- maven2环境搭建(2)
- 关于自己在测试行业的一些想法和自省
- HDU5288 OO’s Sequence
- 获取数据库的连接