iOS 拉伸图片

在开发过程中总会遇到背景图片和控件大小一致的困扰,通常就是两种方法:
1、找美工切大小合适的图片
2、通过使用代码处理或可视化设置图片拉伸

如何使用Slicing

Slicing功能要在.xcassets结尾的图片资源管理器中才可以使用

1、通过以下Show Slicing按钮和右边栏Slicing属性打开效果相同,点击后可以看到有三种图片拉伸方式:水平、垂直、水平垂直方向;

Slicing 中有个Center属性用来指定图片的拉伸方式(Stretches、Tile)和可拉伸矩形范围

第一步把冰箱门打开.png

2、根据需要选择图片拉伸方式,这里选择十字图标或右侧选择 Horizontal And Vertical来演示效果,如下图蓝色区域为可拉伸区域 CGSizeMake(5, 5),绿色区域为不可拉伸区域 UIEdgeInsetsMake(8, 8, 8, 8),可以通过过拖拉虚线来改变它们的作用区域或右侧属性来修改

第二步大象装进冰箱.png

水平拉伸方式更直观:


拿一个水桶.png

3、拉伸前图片大小52*52,通过设置后的效果


第三步把大象拉出来溜溜.png

在可视化编程中设置UIImageView的Stretching为(0.5, 0.5, 0, 0)来处理拉伸

stretching.png

通过使用UIImage方法处理图片拉伸

- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets;
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode;

参数
capInsets:用来设置图片的顶、左、底、右的端盖高度
resizingMode:指定图片的拉伸方式

UIImageResizingModeStretch:延伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片图片
UIImageResizingModeTile:平铺模式,通过复制显示UIEdgeInsets指定的矩形区域来填充图片

总结

Stretching属性设置拉伸只对UIImageView有效,按钮图片拉伸需要使用其他两种方式处理;
UIImage中方法处理图片拉伸,适用于代码设置;
Slicing功能最为方便有效,推荐使用;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在一些情况下用图片来做背景,但是给的图片的尺寸很小,不能铺满给定的ImageView或者button,这时候就要靠...
    Hanser0503阅读 257评论 0 0
  • 返回一张受保护且被拉伸的图片 应用场景:聊天窗口的气泡 方法一(弃用): iOS 5.0以前使用(弃用)这个方法会...
    林安530阅读 15,941评论 1 36
  • + (UIImage *)resizableImageWithName:(NSString *)imageName...
    博行天下阅读 1,484评论 0 0
  • 许多UIView的子类,如一个UIButton或一个UILabel,它们知道怎么绘制自己。迟早,你也将想要做一些自...
    shenzhenboy阅读 1,687评论 2 8
  • 文/鸿运 凋落的春天 不再有残红的花瓣 一路的苍白 就是你坦诚的誓言 凋落的春天 走向成熟的画面 披上绿色 人生又...
    HONGYUNDANGTOU阅读 294评论 9 10