在iOS开发的道路上越走越远iOS资料汇总iOS 艾欧艾斯

拉伸图片的4种方法

2015-06-11  本文已影响1130人  CoderAO

为什么要拉伸图片呢? 有时候我们一个视图的大小是不固定的,它可能根据内容的不同展示不同的尺寸,但是希望图片可以只拉伸里面而保持四周不变.比如聊天的气泡:

聊天界面的气泡

这里给介绍4个拉伸图片的方法:

方法一:

resizableImageWithCapInsets: resizingMode:

方法二:

stretchableImageWithLeftCapWidth: topCapHeight:

方法三:

设置后变成:

图片设置拉伸2
只要选择了horizontal and Vertical,xcode就会自动算出应该保护的宽高,不用在代码里面做任何设置

补充一点: 如果图片有两种规格以上的图片(如:既有@1x图也有@2x图),那么所有规格的图片都需要这样设置一次.但其实如果要对图片进行拉伸使用,只要准备一张图片就够了.(20150731补充)

方法四: 给项目增加一个UIImage的分类

添加UIImage的分类其实和上面第一种方法是一样的,只是这里我们把它单独放在一个文件里面.
分类实现:

+ (UIImage *)resizableImageNamed:(NSString *)imageName {
    UIImage *image = [UIImage imageNamed:imageName];
    return [image stretchableImageWithLeftCapWidth:image.size.width / 2.0 topCapHeight:image.size.height / 2.0];
}

这样,在设置需要拉伸的图片的时候,只要使用

xxxImage = [UIImage resizableImageNamed:@"xxx"];

是不是用起来跟原生的一样?

上一篇 下一篇

猜你喜欢

热点阅读