(转)ios限制控制器旋转
iOS屏幕旋转控制
{
return [self.topViewController shouldAutorotateToInterfaceOrientation:toInterfaceOrientation];
}
//6.0之后系统调用该方法
- (BOOL)shouldAutorotate
{
//系统会调用跟视图的旋转控制方法,所以我们将跟视图将控制条件交给顶层视图(顶层视图即我们需要控制的视图)
系统调用该方法
return self.topViewController.shouldAutorotate;
}
//6.0之后系统调用该方法,应该支持的方向
-(NSUInteger)supportedInterfaceOrientations
{
return self.topViewController.supportedInterfaceOrientations;
}
三、跟视图为UITabBarController(在UITabBarController中设置)
//6.0之后系统调用该方法
- (BOOL)shouldAutorotate
{
//返回顶层视图的设置(顶层控制器需要覆盖shouldAutorotate方法)
UINavigationController *nav = (UINavigationController *)[self.viewControllersobjectAtIndex:mainTab.selectedIndex];
return nav.topViewController.shouldAutorotate;
}
return NO;
}
//6.0之后系统调用该方法
-(NSUInteger)supportedInterfaceOrientations
{
//返回顶层视图支持的旋转方向
UINavigationController *nav = (UINavigationController *)[self.viewControllersobjectAtIndex:mainTab.selectedIndex];
return nav.topViewController.supportedInterfaceOrientations;
return 0;
}
四、跟视图为MMDrawerController
//6.0一下系统调用该方法
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
//返回顶层视图的设置
if (self.openSide == 0) {
//centerShow
MainTabBarController *mainTab = (MainTabBarController *)self.centerViewController;
UINavigationController *nav = (UINavigationController *)[mainTab.viewControllersobjectAtIndex:mainTab.selectedIndex];
NSLog(@"nav.topViewController.supportedInterfaceOrientations : %d", nav.topViewController.shouldAutorotate);
return [nav.topViewController shouldAutorotateToInterfaceOrientation:toInterfaceOrientation];
}
return NO;
}
//6.0之后系统调用该方法
- (BOOL)shouldAutorotate
{
//返回顶层视图的设置
if (self.openSide == 0) {
//centerShow
MainTabBarController *mainTab = (MainTabBarController *)self.centerViewController;
UINavigationController *nav = (UINavigationController *)[mainTab.viewControllersobjectAtIndex:mainTab.selectedIndex];
NSLog(@"nav.topViewController.supportedInterfaceOrientations : %d", nav.topViewController.shouldAutorotate);
return nav.topViewController.shouldAutorotate;
}
return NO;
}
//6.0之后系统调用该方法
-(NSUInteger)supportedInterfaceOrientations
{
//返回顶层视图支持的旋转方向
if (self.openSide == 0) {
//centerShow
MainTabBarController *mainTab = (MainTabBarController *)self.centerViewController;
UINavigationController *nav = (UINavigationController *)[mainTab.viewControllersobjectAtIndex:mainTab.selectedIndex];
NSLog(@"nav.topViewController.supportedInterfaceOrientations ; %d", nav.topViewController.supportedInterfaceOrientations);
return nav.topViewController.supportedInterfaceOrientations;
} else if (self.openSide == 1) {
//leftShow
}
return 0;
}
五、presentViewController视图控制
模态弹出来的视图,并不能在window的跟视图中控制,(因为它不在这个堆栈中?)如果模态视图为UINavigationcontrollor,则需要交给他自己的UINavigationcontrollor中控制。
(转)ios限制控制器旋转的更多相关文章
- iOS 控制单个控制器旋转
iOS 控制单个控制器旋转 控制单个ViewController 的旋转 //不旋转,保持竖屏 //iOS 5 - (BOOL) shouldAutorotateToInterfaceOrientat ...
- iOS 视图控制器转场详解
iOS 视图控制器转场详解 前言的前言 唐巧前辈在微信公众号「iOSDevTips」以及其博客上推送了我的文章后,我的 Github 各项指标有了大幅度的增长,多谢唐巧前辈的推荐.有些人问我相关的问题 ...
- iOS实现屏幕旋转
iOS实现屏幕旋转有两种方式 1. 应用本身支持 2. 手动旋转UIView (这种方式我没找到旋转 系统控件的方法 如:键盘.导航.UIAlertView) 如果你只是要把竖屏的播放器,做成支持横屏 ...
- iOS视图控制器的生命周期
今天面试有一道面试题因为回答不好,因为也不经常涉及所以有点模糊,我选择了最保守的回答,没有展开写出我对这个问题的理解. 问题:IOS 开发 loadView 和 viewDidLoad 的区别? 经过 ...
- 关于ios导航控制器的知识总结
关于ios导航控制器的知识总结 添加了导航控制器后: 1.一个导航控制器会有一个顶部导航栏navigationbar和一个底部工具栏toolbar,它们是导航控制器navC的属性.且导航栏默认是不隐藏 ...
- iOS中控制器的释放问题
iOS中控制器的释放问题 ARC工程是可以重写dealloc方法并被系统调用的,但不需要手动调用父类的dealloc,手写[super dealloc]方法会报错,事实上系统会自动帮你调用父类的dea ...
- iOS 容器控制器 (Container View Controller)
iOS 容器控制器 (Container View Controller) 一个控制器包含其他一个或多个控制器,前者为容器控制器 (Container View Controller),后者为子控制器 ...
- iOS 图片裁剪 + 旋转
iOS 图片裁剪 + 旋转 之前分别介绍了图片裁剪和图片旋转方法 <iOS 图片裁剪方法> 地址:http://www.cnblogs.com/silence-cnblogs/p/6490 ...
- AJ学IOS 之控制器view显示中view的父子关系及controller的父子关系_解决屏幕旋转不能传递事件问题
AJ分享,必须精品 一:效果 二:项目代码 这个Demo用的几个控制器分别画了不通的xib,随便拖拽了几个空间,主要是几个按钮的切换,主要代码展示下: // // NYViewController.m ...
随机推荐
- libiconv_百度百科
libiconv_百度百科 由于历史原因,国际化的文字常常由于语言或者国家的原因使用不同的编码.目录 1libiconv历史简介 2libiconv编码简介 3libico ...
- 【JSP引入报错】--package javax.servlet.jsp does not exist
在eclipse maven中没报错的JSP在引入到netbeans的时候,JSP就报错了. 错误提示:package javax.servlet.jsp does not exist 百度找了下,有 ...
- Linux学习十八之、善用判断式
原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_3.php 善用判断式 在第十一章中,我们提到过 $? 这个变量所 ...
- C#复制数据库,将数据库数据转到还有一个数据库
本文章以一个表为例,要转多个表则可将DataSet关联多个表.以下给出完整代码.包含引用以及main函数与复制函数. 要说明的是,必须先用Sql语句复制表结构,才干顺利的使用下面代码复制数据. usi ...
- java web从零单排第十七期《struts2》数据标签库(1)
1.s:action标签: 此标签的作用是在JSP页面中访问action类的数据,执行某些操作,并返回相应的数据.其属性及意义如下: 属性名 是否必需 默认值 类型 说明介绍 executeResul ...
- JAVA读取propertise配置文件
java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"key=value"的格式,在pr ...
- lightoj 1038 Race to 1 Again
题意:给一个数,用这个数的因数除以这个数,直到为1时,求除的次数的期望. 设一个数的约数有M个,E[n] = (E[a[1]]+1)/M+(E[a[2]]+1)/M+...+(E[a[M]]+1)/M ...
- e3.tree参考手册
简介 1. E3.Tree是E3平台下一个用于构造树型UI(menu,tree,outlookbar等)的的组件, E3.Tree 特色 部署简单,只需要把相关jar放到WEB-INF/lib目录 ...
- Android 获取有规律资源Id解决方案
在多个有规律的资源ID获取的时候,可以使用getIdentifier方法来获取,来获取. 用到场景:工具类打成.jar包的时候,有时候会需要引用到res中的资源,这时候不能将资源一起打包,只能通过反射 ...
- javascript中的for……in循环
<script type="text/javascript"> var theBeatles=new Array("John","P ...