iOS UIViewContentMode详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS UIViewContentMode详解相关的知识,希望对你有一定的参考价值。
根据定义可以看出 UIViewContentMode 是UIView的属性,所以这里分别对UIImageView、UIView、UILabel、UIButton设置contentMode属性来查看相应效果。
通过测试可以看到,contentMode属性的设置,在视觉上只对UIImageView起作用,对UIView、UILabel、UIButton都不起作用。
对于UIView,因为它的子视图都已经设置了自己的frame,位置是固定的,所以这里contentMode不起作用。
对于UILabel、UIButton,并没有像预期的一样,通过设置不同的contentMode,而改变UILabel、UIButton中文本或图片内容的填充样式。
所以,对于contentMode属性的主要探索就放在了UIImageView上。
先来看看测试过程中得到的所有效果图:
typedef NS_ENUM(NSInteger, UIViewContentMode) {
//默认样式 图片充满整个轮廓,不按比例放大或缩小,图片可能会变形
UIViewContentModeScaleToFill,
//图片按比例放大或缩小,直到图片和轮廓中相差比率较小的边长度达到一致,图片一定会拉伸,但不会变形
UIViewContentModeScaleAspectFit,
//图片按比例放大或缩小,直到图片和轮廓中相差比率较大的边长度达到一致,图片一定会拉伸,但不会变形
UIViewContentModeScaleAspectFill,
//调用setNeedsDisplay方法时,会重新渲染图片,以下操作,图片均不会被拉伸,不变形
UIViewContentModeRedraw,
UIViewContentModeCenter,
UIViewContentModeTop,
UIViewContentModeBottom,
UIViewContentModeLeft,
UIViewContentModeRight,
UIViewContentModeTopLeft,
UIViewContentModeTopRight,
UIViewContentModeBottomLeft,
UIViewContentModeBottomRight,
};
欢迎各路大神不吝指教、纠正~
以上是关于iOS UIViewContentMode详解的主要内容,如果未能解决你的问题,请参考以下文章
格式指定类型“int”,但参数的类型为“UIViewContentMode”
UIImageView:将多个 UIViewContentMode 属性应用于一个 UIImageView?
UIViewContentMode 与 UIControlContentHorizontalAlignment