方法:

假设图片为60*24

CGFloat top = image.height*0.5-1; // 顶端盖高度  
CGFloat bottom = top ; // 底端盖高度  
CGFloat left = image.weight*0.5-1; // 左端盖宽度  
CGFloat right = left; // 右端盖宽度  
UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right);  
// 指定为拉伸模式,伸缩后重新赋值  
image = [image resizableImageWithCapInsets:insets resizingMode:UIImageResizingModeStretch]; 

 图片整个高度-顶端盖高度-底端盖高度=图片中间要拉伸的部分.高度

 图片整个宽度-左端盖宽度-右端盖宽度=图片中间要拉伸的部分.宽度

 

图片要拉伸,就拉伸最中间的2*2,这样可以确保图片不变形

 

UIImageResizingMode参数,用来指定拉伸的模式:

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

相关文章:

  • 2021-07-04
  • 2022-12-23
  • 2022-01-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-12
  • 2021-12-29
  • 2021-12-05
  • 2021-10-09
  • 2021-04-17
相关资源
相似解决方案