大家好,关于轻松实现iOS横屏模式:无需编写代码的控制器设置很多朋友都还不太明白,今天小编就来为大家分享关于的知识,希望对各位有所帮助!
NSNumber *value=[NSNumber numberWithInt:UIInterfaceOrientationLandscapeRight];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
出现的问题
此时如果进入竖屏Push,即使设置了横屏(如上代码),frame和bounds都将是竖屏!我还不知道为什么。知道的朋友可以在下方留言哦~
解决办法
由于横屏后屏幕的宽度和高度已经反转,因此可以创建一个视图设置框,将控制器的视图全屏填充,后续的控件直接添加到该视图中。
CGRectMake(0, 0, self.view.bounds.size.height, self.view.bounds.size.width);
更简单的处理方法
如果项目中有很多横屏控制器,如果每个控制器都这样处理,是不是太麻烦了,而且这不是白白创建了一个视图并添加到控制器的视图中吗?这是正确的! loadView 创建一个视图,设置水平屏幕框架(反转宽度和高度),然后将其替换为控制器的视图。此时self.view就是横屏视图!当然,你也可以写一个基类来处理横竖屏的逻辑。当我创建横屏控制器时,只需继承它即可。我不需要担心任何事情。当我进入横屏的时候,我又回到竖屏了~是不是很棒!
Demo 地址
- (无效)loadView{
UIView *fl_view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.height, [UIScreen mainScreen].bounds.size.width)];
self.view=fl_view;
}
- (void)viewDidLoad {
[超级viewDidLoad];
self.view.backgroundColor=[UIColor 白色颜色];
}
- (void)viewWillAppear:(BOOL)动画{
[超级viewWillAppear:动画];
//横屏。
[self fl_screenStyle:UIInterfaceOrientationLandscapeRight];
}
- (void)viewWillDisappear:(BOOL)动画{
[超级viewWillDisappear:动画];
//竖屏。
[self fl_screenStyle:UIInterfaceOrientationPortrait];
}
#pragma mark -- 私有方法
- (void)fl_screenStyle:(UIInterfaceOrientation)interfaceOrientation{
NSNumber *value=[NSNumber numberWithInt:interfaceOrientation];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!
【轻松实现iOS横屏模式:无需编写代码的控制器设置】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
这真的假的!不用写代码就能实现?太厉害了!
有10位网友表示赞同!
终于不用 uğ bother 着写那些旋转屏幕的代码了,真是福音啊!
有20位网友表示赞同!
感觉这个技巧简直太便捷了,新手也能轻松上手。
有14位网友表示赞同!
iOS 做开发真的越来越香了,这种方法简直秒懂。
有12位网友表示赞同!
我正在学 iOS 开发,遇到很多横竖屏切换的问题,这方法正好能解决我的痛点!
有6位网友表示赞同!
分享这种方便的方法很棒,可以大大提高开发效率。
有5位网友表示赞同!
我一直以为横竖屏切换需要代码才能完成,没想到这么简单。
有11位网友表示赞同!
有没有详细的教程啊?我有点想自己试试看。
有15位网友表示赞同!
iOS 的新特性越来越多,学习起来真是刺激的感觉!
有14位网友表示赞同!
期待看到更棒的技术分享,让我学习进步更快!
有18位网友表示赞同!
这个方法看起来很实用,等我试一试效果怎么样。
有12位网友表示赞同!
对新手开发人员来说,这种简单易用的技巧真的很加分。
有11位网友表示赞同!
以前总感觉横竖屏切换比较麻烦,现在终于有了更便捷的解决办法!
有5位网友表示赞同!
希望作者能提供更多关于 iOS 开发的小技巧分享。
有19位网友表示赞同!
学习iOS开发越来越快了,这种方法简直太强大!
有9位网友表示赞同!
对于没有编程基础的人来说,能不能也用这个方法实现横屏效果呢?
有16位网友表示赞同!
iOS 的开发环境越来越完善了,开发起来越来越人性化!
有12位网友表示赞同!
这真是一个让人眼前一亮的方法,感谢分享!
有11位网友表示赞同!
看来苹果的 iOS 系统还是很有趣的!
有16位网友表示赞同!