博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ios的自动转屏
阅读量:7110 次
发布时间:2019-06-28

本文共 889 字,大约阅读时间需要 2 分钟。

在IOS6以前,设置转屏需要用到方法

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)x

在6以后,取代它的是

- (BOOL)shouldAutorotate

- (NSUInteger)supportedInterfaceOrientations

在论坛上看到个问题,如何用按钮控制自动转屏

可以在相应的Controller中加入一个属性,一个BOOL型的变量autorotation

应用的界面是

然后再初始化的时候初始为YES,在自动转屏方法中return这个变量即可

 

- (void)viewDidLoad{    [super viewDidLoad];    self.autorotation = YES;}- (BOOL)shouldAutorotate{    return self.autorotation;}- (NSUInteger)supportedInterfaceOrientations{    return UIInterfaceOrientationMaskAll;}

这个项目允许的转屏模式主要由项目信息中的设置决定的

 

然后开始实现按钮的方法

 

- (IBAction)changeFlag:(id)sender {    if (_autorotation) {        self.autorotation = NO;        self.textLabel.text = @"Autorotation: No";    } else {        self.autorotation = YES;        self.textLabel.text = @"Autorotation: Yes";    }}

这样就可以在点击按钮时更改是否允许转屏,以及Label中的text了。

 

另外,在IOS6以后自动缩放的方框默认不显示了,是因为加入了autolayout且默认为勾选状态的

取消勾选后Autosizing就显示出来了

 

你可能感兴趣的文章
关于如何调节佳能复试打印机IR3245如何调节打印清晰度方法
查看>>
Linux新手必须学会的12个命令
查看>>
我的友情链接
查看>>
关于NSMutableDictionary setValue:value forKey:key 以及 setobject:value forkey:key 的理解
查看>>
iptables7层过滤,屏蔽(QQ,MSN,迅雷,PPTV等)
查看>>
并行吧!程序员
查看>>
我的友情链接
查看>>
cacti忘记admin密码
查看>>
MySQL系列之B-1------MySQL安装准备工作
查看>>
Excel 自动插入小数点
查看>>
项目范围管理的重点
查看>>
邮件服务器架设的双机热备解决方案
查看>>
Win7中如何删除访问共享时所保存的用户名和密码
查看>>
mysql question
查看>>
golang 数组切片和字典
查看>>
get与post提交方式的区别
查看>>
分布式文件系统FastDFS介绍安装配置
查看>>
Kubernetes 控制器之 Deployment 介绍(六)
查看>>
LNMP构建编译安装zabbix
查看>>
Linux文本处理三剑客之sed
查看>>