以最少的代码为自己的app添加横屏界面

内容如题。
一般手机应用中很少用到横屏,一般都是视频播放类,或者应用中查看时间轴之类的界面。那么如何在不动原来代码的基础上添加这些横屏界面的操作呢?

1.勾选设备方向

Orientation.png

2.为UINavigationController添加一个category

@interface UINavigationController (Autorotate)
@end

然后在.m文件中添加如下代码

- (BOOL)shouldAutorotate
{
    return NO;
}

- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return (toInterfaceOrientation == UIDeviceOrientationPortrait);
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

3.在需要横屏的界面添加如下代码

- (BOOL)shouldAutorotate
{
    return NO;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeRight;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscapeRight;
}

注意点

在显示横屏界面时候请一定要用present方法,至于为什么不用push,你可以试一下就知道了。

效果如图

效果.gif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,465评论 4 61
  • 仰望天空, 想飞, 翅膀被灌了泥水, 可内心燃起熊熊的烈火, 是不甘, 是不想放弃, 不甘如此平庸, 不想放弃翱翔...
    琉泱公子阅读 1,697评论 0 2
  • 其实这也不是第一次和我爸单独去旅游了 第一次是在大二,四月底,那时候遇到了一些比较烦的事,心情也不太好,于是逃了课...
    SSSylvia阅读 8,675评论 16 9
  • 相信多数人都听过这样的话:“我都跟你说100遍了,你怎么就是没记性?”。这100遍的内容,可能是让老公出门别忘带手...
    瑞田学习力阅读 3,795评论 1 3
  • 爱是什么,是一门艺术还是一种愉悦感?如果是前者,那么爱就需要知识、需要努力、如果是后者,那么体验这种愉悦感就是一个...
    思想聚焦的原创阅读 1,378评论 0 6

友情链接更多精彩内容