图片拉伸

iOS中的图片拉伸,并不是放大或者缩小图片的尺寸。因为即使你能放大到你想要的大小,但那样显示出来的图片也是失真的。图片的边缘会很模糊。这时我们就需要通过另一种方法来将图片放大。
图片拉伸的目的是为了不让图片放大后边缘失真。
做法:保护四周的图片像素,平铺拉伸中间部分。
方法有很多种,下面我们来一一的介绍:

  • 代码方法

方法1:

UIImage *image = [UIImage imageNamed:@“00”];
image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(30,30,30,30)];
imageView.image = image;

方法2:

 UIImage *image = [UIImage imageNamed:@"chat_send_nor”];
 image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30) resizingMode:UIImageResizingModeStretch];
 imageView.image = image;

方法3:
只拉伸中间的1*1,宽度和高度参数设为宽度和高度的一半

.h:
@interface UIImage (Extention)
+ (UIImage *)resizableImage:(NSString *)name;
@end

.m:
@implementation UIImage (Extention)
+ (UIImage *)resizableImage:(NSString *)name
{
    UIImage *image = [UIImage imageNamed:name];
    image = [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];
    return image;
}
@end

controller:
UIImage *image = [UIImage imageNamed:@"chat_send_nor"];
    image = [image stretchableImageWithLeftCapWidth:image.size.width * 0.5 topCapHeight:image.size.height * 0.5];
    imageView.image = image;

方法4:
做一个UIImage拉伸的扩展分类

UIImage *image = [UIImage resizableImage:@"chat_send_nor"];
    imageView.image = image;
  • 通过storyboard工具栏来拉伸

如图:


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

推荐阅读更多精彩内容

  • 返回一张受保护且被拉伸的图片 应用场景:聊天窗口的气泡 方法一(弃用): iOS 5.0以前使用(弃用)这个方法会...
    林安530阅读 15,981评论 1 36
  • iOS目前拉伸不支持四周进行拉伸,中间部分保持不变的方法!!! iOS支持的是某个部分的拉伸。 实际使用情形1:按...
    艳晓阅读 1,666评论 6 11
  • 苹果为了节省打包文件(ipa)的存储空间,在iOS5就推出了图片拉伸,但是初衷是好的,如果程序猿不会用,那一切都是...
    coderYJ阅读 3,962评论 1 11
  • 纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简...
    木马不在转阅读 527评论 0 0
  • iOS图片拉伸技巧 转载地址http://blog.csdn.net/q199109106q/article/de...
    kakukeme阅读 1,635评论 0 51