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

问题

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

原因

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

解决方法

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

参考


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容