ios6 屏幕旋转总结
1.在AppDelegate中添加如下代码:
(1) self.window.rootViewController = self.iNavController;
(2)// [self.window addSubview:self.iNavController.view];
在iOS6.0 中只能使用(1)方法,如果使用(2)再去设置屏幕旋转会不起作用的。iOS6.0以下则不会出现上述问题。
2.屏幕旋转
(1)将屏幕旋转统一写到rootViewController中。例如:上面(1)中rootViewController是UINavigationController,则将旋转写到
UINavigationController中。为UINavigationController添加类别,代码如下:
- (BOOL) shouldAutorotate
{
//全部调用self.topViewController,就是返回当前呈现出来的viewController里面的设置
return self.topViewController.shouldAutorotate;
}
- (NSUInteger)supportedInterfaceOrientations
{
return self.topViewController.supportedInterfaceOrientations;
}
(2)支持全部方向的旋转
iOS6.0需要下面三个方法,代码如下:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return (toInterfaceOrientation != UIInterfaceOrientationMaskPortraitUpsideDown);
}
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAllButUpsideDown;
}
(3)禁止屏幕旋转
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}
- (BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;//只支持这一个方向(正常的方向)
}
(4) 如果viewCtrl 是 presentModalViewController 到 viewCtrl3,那么viewCtrl3的旋转设置就不在navCtrl里面了!如果presentModalViewController的viewController是navController、tabbarController包装过的viewCtrl3,那么就应在新包装的navController、tabbarController里面设置,如果是直接presentModalViewController到viewCtrl3,那么就在viewCtrl3里面设置
3.屏幕旋转基本方法
//视图旋转之前自动调用
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
NSLog(@"视图旋转之前自动调用");
}
//视图旋转方向发生改变时会自动调用
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
NSLog(@"视图旋转方向发生改变时会自动调用");
}
//视图旋转完成之后会自动调用
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
NSLog(@"视图旋转完成之后自动调用");
}
//视图旋转之前自动调用
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
NSLog(@"视图旋转之前自动调用");
}
//视图旋转方向发生改变时会自动调用
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
NSLog(@"视图旋转方向发生改变时会自动调用");
}
//视图旋转完成之后会自动调用
-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
NSLog(@"视图旋转完成之后自动调用");
}
ios6 屏幕旋转总结相关推荐
- UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例) 和 IOS6屏幕旋转详解
1. UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的用法 (实例) 博客分类: IOS / Objective-C UIDeviceOrienta ...
- IOS6屏幕旋转详解(自动旋转、手动旋转、兼容IOS6之前系统)
转自 http://blog.csdn.net/zzfsuiye/article/details/8251060 概述: 在iOS6之前的版本中,通常使用 shouldAutorotateToInte ...
- iOS6下关于屏幕旋转的控制
之前做了一个应用,但由于整应用界面个都是竖屏,不允许横屏,所以一直没有关注这个,昨天开发一个图片预览的类库(类似系统的查看图片),其中一个特性当然需要支持横屏,所以就压找了一下资料,之前已经听闻在屏幕 ...
- iOS6的控制屏幕旋转技巧
在iOS5.1 和 之前的版本中, 我们通常利用 shouldAutorotateToInterfaceOrientation: 来单独控制某个UIViewController的旋屏方向支持,比如: ...
- 关于屏幕旋转设置:iOS5、iOS6及iOS7
关于屏幕旋转设置: iOS5调用 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOri ...
- iOS6以上屏幕旋转详解
屏幕旋转的研究理由: 因为本人从事视频类的iOS开发工作,经常项目中经常会遇到需要在不同的页面对屏幕方向进行控制,例如正常的列表页面都只支持竖屏不能旋转,而播放页面需要能够控制旋转 : - 手动点击全 ...
- iOS屏幕旋转 浅析
一.两种orientation 了解屏幕旋转首先需要区分两种orientation 1.device orientation 设备的物理方向,由类型UIDeviceOrientation表示,当前设备 ...
- ios 旋转屏幕试图切换_总结iOS App开发中控制屏幕旋转的几种方式
在iOS6之前的版本中,通常使用 shouldAutorotateToInterfaceOrientation 来单独控制某个UIViewController的方向,需要哪个viewControlle ...
- iPhone屏幕旋转机制详解
主要说一下本人对iOS6.0及以前版本中对屏幕旋转的操作:包括重力感应旋转和强制旋转. 首先说一下重力感应引起的屏幕旋转. 在iOS6.0以前,只需要UIViewController的子类重载 - ( ...
最新文章
- HTML5 INPUT placeholder及兼容性处理
- Gym-100889B Backward and Forward
- shell 编程整合
- 史上最全Redis面试题及答案。
- Nginx 502 Bad Gateway 错误的原因及解决方法
- 前端遍历列表生成表格_图书作者的演练-创建列表页和添加表单框-flask
- Java NIO概述(1)
- python是什么-什么是Python?最全的python百科
- 想要学习C++,到底能从事哪种行业?
- xxxxxxxxxccccxcc
- 至少出现k次重复的子串的最大长度
- 电动按摩帖芯片FH8B23S16B单片机为什么这么多人用?
- python中spider的用法_Python爬虫从入门到放弃(十五)之 Scrapy框架中Spiders用法
- Citespace(十一)---对图谱中Q值和S值的说明—来自《引文空间分析原理与应用》p24
- CorelDraw绘图技巧十九招
- ios 简书 获取通讯录信息_ios 各种权限整理
- PHP脚本定时任务实现及crontab实现定时任务
- linux系统安装s3fs,利用s3fs 将 s3 bucket 挂载到Linux目录
- DIV常用的几种边框样式!(转)
- Syslog-ng3.5 mysql 日志服务器
热门文章
- 部门来了个测试工程师,一副小毛孩样,本以为很菜,谁想到...
- 湖北2022农民丰收节 国稻种芯:麻城启动王忠林宣布活动
- Redis 缓存回收的7种策略volatile设置过期时间及allkeys所有数据范围内
- linux-Ubuntu-centos-deepin操作系统网卡驱动Realtek-RTL8111-RTL8168-rtlwifi-rtl8188-8192-8723-8821-免费下载---收集到的
- 搞了一个星期的扫码收款, 总结感悟
- WSTMart 国内开源商城系统佼佼者
- 群贤路附近哪有计算机学校,群贤路口附近展览馆、会展中心
- dva 底层框架构建
- 【零信任落地案例】启明星辰中国移动某公司远程办公安全接入方案
- ubuntu的防火墙 ufw