iOS开发首页投稿(暂停使用,暂停投稿)iOS Developer

背景图片拉伸

2017-06-21  本文已影响94人  追逐_chase

关于图片尺寸拉伸,我们在开发过程中,经常能遇到,比如:社交聊天,cell圆角等,但是往往美工在给我们图片时的尺寸不是刚刚好的,这就需要用你技术的手段来解决这个问题。

UIImage中有几个方法可以解决

  //图片的尺寸
    CGFloat imageW = image.size.width;
    CGFloat imageH = image.size.height; 
    UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageH *0.5, imageW *0.5, imageH *0.5 - 1, imageW *0.5 - 1)];
//衍生的方法 
resizingMode是一个枚举类型:
1> UIImageResizingModeTile ,平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
2> UIImageResizingModeStretch,拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
   UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageH *0.5, imageW *0.5, imageH *0.5 - 1, imageW *0.5 - 1) resizingMode:UIImageResizingModeTile];
    CGFloat imageW = image.size.width;
    CGFloat imageH = image.size.height; 
第一个参数:右边被保护的区域 =  imageW - LeftCapWidth -1
达尔戈参数:底部被保护的区域 = imageH- topCapHeight - 1
[image  stretchableImageWithLeftCapWidth:<#(NSInteger)#> topCapHeight:<#(NSInteger)#>]

然后把新返回的resizableImage图片 赋值

上一篇 下一篇

猜你喜欢

热点阅读