首先,在Xcode里设置整个项目支持的屏幕显示方向:

ios 屏幕旋转适配 ios屏幕旋转插件_屏幕方向

然后创建一个UINavigationController的子类,然后重载以下属性:

ios 屏幕旋转适配 ios屏幕旋转插件_ios 旋转屏幕试图切换_02

对于需要自定义屏幕方向的ViewController,重载这个属性之后返回需要设定的屏幕方向参数即可。

在shouldAutorotate属性中判定哪个ViewController可以支持自动旋转;

在supportedInterfaceOrientations属性中判定当前ViewController支持显示的屏幕方向;

在preferredInterfaceOrientationForPresentation属性中设置整个项目最常用的屏幕显示方向;

接着,将项目的NavigationController的类设置为这个新建的类:

ios 屏幕旋转适配 ios屏幕旋转插件_ios 屏幕旋转适配_03

最后,在需要设置屏幕方向的ViewController中重载属性:

ios 屏幕旋转适配 ios屏幕旋转插件_ios 屏幕旋转适配_04

现在就可以任意指定某些ViewController支持的屏幕方向了!

ios 不支持屏幕旋转

- (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; }

app锁定屏幕方向,某一个界面支持屏幕旋转~

AppDelegate.h 加 @property (nonatomic, assign) BOOL allowRotation; Appdelegate.m加 -(NSUInteger)applic ...

ios View之间的切换 屏幕旋转

6.3  View之间的切换 在上面的练习中我们通过移动组件的位置和调整组件的大小来处理横向与纵向的界面布局.但是在界面中有很多组件的时候,对每个组件都进行这样的操作确实是一个麻烦的事情.下面我们看看 ...

单个APP页面支持屏幕旋转

1.info中支持所有的方向 2.APPDelega.h中添加属性 @property (nonatomic,assign) BOOL allowRotate; APPdelegate.m中实现方法 ...

iOS实现屏幕旋转

iOS实现屏幕旋转有两种方式 1. 应用本身支持 2. 手动旋转UIView (这种方式我没找到旋转 系统控件的方法 如:键盘.导航.UIAlertView) 如果你只是要把竖屏的播放器,做成支持横屏 ...

iOS学习笔记(3)— 屏幕旋转

一.屏幕旋转机制: iOS通过加速计判断当前的设备方向和屏幕旋转.当加速计检测到方向变化的时候,屏幕旋转的流程如下: 1.设备旋转时,系统接收到旋转事件. 2.系统将旋转事件通过AppDelegate ...

【Android】[转] Android屏幕旋转使用OrientationEventListener的监听

说明 遇到一个奇葩的问题,我在使用onConfigChanged拦截屏幕的横竖屏旋转时,发现直接进行180度的横屏/竖屏转换居然没有反应!查找原因发现仅对landscape或者portrait状态有用 ...

ios实现屏幕旋转的方法

1.屏蔽AppDelegate下面的屏幕旋转方法 #pragma mark - 屏幕旋转的 //- (UIInterfaceOrientationMask)application:(UIApplica ...

iOS屏幕旋转 浅析

一.两种orientation 了解屏幕旋转首先需要区分两种orientation 1.device orientation 设备的物理方向,由类型UIDeviceOrientation表示,当前设备 ...

随机推荐

MAVEN学习-第一个Maven项目的构建

MAVEN安装成功之后就可以进行项目的构建和管理了: 为什么要用maven进行项目的构建和管理? 对于初学者来说一个最直接的也是最容易里的优点在于JAR包的管理,相对于以前开发一个项目的时候我们需要用 ...

vagrant 基本配置

首先安装好virtualbox,可以对照官网教程 https://www.if-not-true-then-false.com/2010/install-virtualbox-with-yum-on- ...

JavaScript笔记:DOM基础

一.什么是DOM DOM全称是document object model(文档对象模型).在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM.通俗的说D ...

wikioi 1012最大公约数和最小公倍数【根据最大公约数和最小公倍数求原来的两个数a、b】

/*====================================================================== 题目描述 输入二个正整数x0,y0(2<=x0& ...

Open&lowbar;Newtonsoft&lowbar;Json 的序列化和反序列化

Newtonsoft.Json,一款.NET中开源的Json序列化和反序列化类库(下载地址http://json.codeplex.com/). 特别注明:本人转自 陈 晨 博客园的 Newtonso ...

Winform- IrisSkin&period;dll轻松实现窗体换肤功能

IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现winForm窗体换肤 然而IrisSkin2.dll只能在.NET Faremwork 4.0以及之前的版本使用,所以要在V ...

Maximum &amp&semi; Minimum Depth of Binary Tree

Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

工作经常使用的SQL整理,实战篇(二)


Linux常用命令汇总及使用方法(二)之文本编辑器VI

VI可能是在Linux中使用比较频繁的文本编辑器,如果不能熟练使用VI,在一定程度上会影响工作效率,所以在这里记录一下VI的常用命令及操作方式 在[root@test ~]# vi carrie.tx ...

python&plus;Django&plus;test 测试数据库生成报错

前提: 使用Django自带的test进行单元测试. 问题描述: 运行:python manage.py test,报错,出现数据库乱码的现象,报错如下: Creating test database ...