使用AutoLayout约束, 为啥图片的大小(Image size)却还以实际大小显示?

问题

给一个 UIImageView 设置一张图片时,使用 AutoLayout 给 UIImageView 约束宽高,但是实际显示的大小,图片以实际的大小显示出来,代码也没有设置 frame,设置contentMode为UIViewContentModeScaleAspectFit 也不起作用。

原因

最后注册到约束时,设置了 @property NSLayoutPriority priority; ,就是设置了线束的优先级为UILayoutPriorityDefaultHigh,导致这个约束级别比图片默认显示的大小的优先级低。

解决方法

如果开始一定要给一个低级的约束,那么要以约束大小显示时,在重新添加一个相同大小约束的UILayoutPriorityRequired,这样就会覆盖低优先级的约束,图片大小就不会超级约束范围。

参考


注:本文首发于 iHTCboy's blog,如若转载,请注明来源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值