resizableImageWithCapInsets:方法的探析

最近看别人的代码偶然看到了resizableImageWithCapInsets 指定保护区域拉伸图片的方式做气泡,特意了解下这个方法


实现代码
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
//该方法返回的是UIImage类型的对象,即返回经该方法拉伸后的图像
//传入的第一个参数capInsets是UIEdgeInsets类型的数据,即原始图像要被保护的区域
//这个参数是一个结构体,定义如下
//typedef struct { CGFloat top, left , bottom, right ; } UIEdgeInsets;
//该参数的意思是被保护的区域到原始图像外轮廓的上部,左部,底部,右部的直线距离,参考图2.1
//传入的第二个参数resizingMode是UIImageResizingMode类似的数据,即图像拉伸时选用的拉伸模式,
//这个参数是一个枚举类型,有以下两种方式
//UIImageResizingModeTile,     平铺 
//UIImageResizingModeStretch,  拉伸

看函数注解应该对这个函数有了一定的了解,这里贴几个图加深下理解。

示例:


UIImageResizingModeStretch

1.capInsets参数为UIEdgeInsetsMake(42, 0, 0, 0)

Paste_Image.png

2.capInsets参数为UIEdgeInsetsMake(42, 20, 42, 20)

Paste_Image.png

UIImageResizingModeTile填充模式同理

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

推荐阅读更多精彩内容

  • 返回一张受保护且被拉伸的图片 应用场景:聊天窗口的气泡 方法一(弃用): iOS 5.0以前使用(弃用)这个方法会...
    林安530阅读 16,057评论 1 36
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,650评论 25 709
  • 对于图片拉伸是移动开发中很常见的需求,在前一阵子做项目中需要做一个类似于QQ聊天气泡,这个气泡会根据文字的多少而变...
    Joy___阅读 14,207评论 27 159
  • 如果姿态太难看,赢了也是输了。而在我的定义里,最有风度的赢,是一不小心就赢了;最有风度的输,是即使失败了也还能不...
    合肥李风丽阅读 628评论 2 0
  • 这是一个玄之又玄的哲学问题,每个人在回答这个问题的时候,总免不了在潜意识里有意无意的粉饰一番,而且一般情况下视角都...
    一心无二阅读 727评论 0 51