在UIbutton中用setImage设置图片时,图片都会自适应大小。
但有时候又希望图片铺满整个button,而且图片不变形,这时候需要下面3句代码。
_btn.imageView.contentMode = UIViewContentModeScaleAspectFit;
_btn.contentHorizontalAlignment= UIControlContentHorizontalAlignmentFill;//水平方向拉伸
_btn.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;//垂直方向拉伸
效果图如下:
image.png
这种模式下有个问题:如果uibutton的长宽比和图片不同,那么有些地方就还是没有铺满。如下图:
image.png
如果确实想完全平铺满,就得修改contentMode:
_btn.imageView.contentMode = UIViewContentModeScaleToFill;
_btn.contentHorizontalAlignment= UIControlContentHorizontalAlignmentFill;//水平方向拉伸
_btn.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;//垂直方向拉伸
效果如下:
image.png
网友评论