resizableImageWithCapInsets是图片拉伸

在仿写QQ会话窗口的时候,气泡的背景图片拉伸问题。并不是所有地方都可以拉伸的,所以定义了下面的工具类中的一个方法,专门拉伸图片。

  • UIImageResizingModeStrech:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
  • UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
+ (UIImage *)resizeWithImage:(UIImage *)image{
    CGFloat top = image.size.height/2.0;
    CGFloat left = image.size.width/2.0;
    CGFloat bottom = image.size.height/2.0;
    CGFloat right = image.size.width/2.0;
    return [image resizableImageWithCapInsets:UIEdgeInsetsMake(top, left, bottom, right)resizingMode:UIImageResizingModeStretch];
}

显示样式:


P.S.
resizableImageWithCapInsets有四个值上下左右

上下左右的值定义了受保护区域,能被拉伸的地方是中间区域,一般我们都设成中心点为了安全。

推荐阅读更多精彩内容

  • 返回一张受保护且被拉伸的图片 应用场景:聊天窗口的气泡 方法一(弃用): iOS 5.0以前使用(弃用)这个方法会...
    林安530阅读 10,107评论 1 30
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 160,128评论 24 690
  • 纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简...
    木马不在转阅读 267评论 0 0
  • 媒体和大众的口味,都是喜欢搞事情的。 不管是企业家还是小有成就的你,都会被问及“你怎么做的比他好的?对手放了个大招...
    部落10阅读 123评论 0 0
  • (一)八月上旬,在沈从文笔下的《边城》(茶峒镇)小住几日。恰巧遇上如约而至的雨。那便是令我一生都难忘的雨——茶峒的...
    逗霸君阅读 393评论 4 10
  • 时间黄了旧照片 剧情没法再来一遍 未完成的事 冻结在分开的节点 念念不忘把曾经回放 只徒增悲伤一场 越拉扯越脆弱 ...
    哥伦比亚的倒影阅读 120评论 4 3