IOS的AutoresizingMask和AutoLayout

http://www.juwends.com/tech/apple/ios-autoresizingmask-autolayout.html


初涉IOS开发,还没完全踏入,借了本名叫《IOS编程》的庞然大书来翻,虽然书中是用Objective-c的,虽然Swift已然出道,不过个人认为这个对我这种还没入行的人来说,影响不大,反正感觉Swift做IOS开发,很多api都是直接copy过来的,只是整了下容而已,开发模式似乎也看不出翻天覆地的变化。看着看着,书中讲到控件自适应转屏的时候,就发现了很奇怪的问题,我的控件的“Show the Size inspector”上找不到那个设置AutoresizingMask的操作器……

“Show the Size inspector”在哪里?在Storyboard中,选中一个控件,右边栏顶上
showTheSizeInspector按照庞然大书所述,应该长成这样才对
showTheSizeInspector-withMask
随后X度了一下,搜到很多关于如何在代码里面设置auto resizing mask的方法。这里又想吐个槽,X度的搜索真的是太坑爹了……

关于代码里面如何设置,X度多得去了,自己可以X一下……但是我有个很大的疑问就是,在storyboard里面的控件,在代码里面设置mask似乎都没有效果,似乎是要在创建对象的时候就需要把mask设置好才会有效果,不知道是为什么,待我查明再打补丁……

后来在Google上搜到一篇StackOverflow上的文章讲述了为什么我的xcode上面不显示mask操作器,原因就是apple引入了一个似乎更高科技的技术,至于是不是替代auto resizing mask,我就不清楚了,这个技术就是AutoLayout。

AutoLayout在哪里设置呢?其实就在storyboard的视图区的右下角
autolayout-panel
其实我不知道4个按钮中,后面2个的用处……不要在意这些细节,慢慢来嘛……

AutoLayout的工作模式是给控件添加约束(constrain)来确定控件所在的位置和缩放大小,约束的内容(据我现在所知)是上下左右相对于其它控件的距离。关于AutoLayout的使用方法,自己试一下便有一定理解了。传说AutoLayout的constrain线如果是蓝色的就表明xcode能够确定控件位置和大小了,如果是橙色的,似乎就是不能确定。具体使用方法可以看下这篇NBility的文章:《iOS7 Autolayout 瞬间入门》,这个意思就是分分钟搞定AutoLayout的节奏。

如果想使用AutoresizingMask,而不使用AutoLayout的话,则可以在Storyboard的“Show the File inspector”取消勾选“Use Auto Layout”
close-autolayout
然后xcode会问你是不是把“Size Classes”那个选项也取消掉,因为使用那玩意儿必须要有Auto Layout的支持,直接Disable Size Classes就行了,这个时候,去到Size inspector就看得到操作器了。

IOS的AutoresizingMask和AutoLayout —— Juwend 
Juwend’s – http://www.juwends.com


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值