开发中,如果视图的大小不确定,而我们设置背景图片时如果拉伸过大,展示效果就会大打折扣。


iOS提供了简单的方法来设置不被拉伸的区域,是以图片原本大小上对应区域来设置
UIImage *orImage = [UIImage imageNamed:@"1.jpg"];
UIImage *finalImage = [showBg resizableImageWithCapInsets:UIEdgeInsetsMake(50, 50, 50, 50) resizingMode:UIImageResizingModeStretch];
这个方法第一个参数UIEdgeInsets,其包含四个参数,分别为图片原始边界到上、左、下、右的距离,设置后拉伸时就只会拉伸黄色区域了,如下图:

UIImageResizingModeStretch 拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
UIImageResizingModeTile 平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
真是一个比较实用的方法了
网友评论