【原】对UIView的autoresizemark属性的新理解,感觉蛮重要的

以前都觉得UIView的autoresizemask属性总是那么死板,如果每次对每个view都“|”上那一大串就行。这是个万金油,保证我们写程序一定不会出错。

self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
        | UIViewAutoresizingFlexibleBottomMargin |UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin
        | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

但是,某一天我嫌它太臃肿,删掉了一些,发现程序出了比较大的错误。苦思冥想都没想出为什么,后来在师傅指导下才恍然大悟。我的APP需要锁屏,只允许横屏。

IOS模拟器有个比较变态的特性,那就是在viewDidLoad时,不论你模拟器的方向是什么方向,它都默认一开始是home指向你的方向。所以,width跟height也是竖屏

的数值。如果我们没有对其中的view进行autoresizemask的width以及height进行设置,若你的设备转向了,这些view的width、height都是按照竖屏的标准来划定的。

要格外小心,出现异常的时候记得去查查你的view的autoresizingmask属性是否设置合理了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值