图片拉伸?纯代码和storyboard的使用情况!

0、拉伸图片的时候怎么才能让图片不变形?

  UIImage *image = [[UIImage imageNamed:@"xxx"] stretchableImageWithLeftCapWidth:10 topCapHeight:10];

1、 resizableImageWithCapInsets 和 stretchableImageWithLeftCapWidth 的区别?

-答:

  • 相同点:都是用于图片拉伸的。2个方法都可以使用。
  • 不同点:一个过时了,另一个没有。
    -使用情况看个人!

在没有添加处理图片之前!

左右图片被拉伸了.png

如何处理 --图片拉伸? ---有个方法!resizableImageWithCapInsets

1.png

运行后的效果!

2.png

这也是拉伸!stretchableImageWithLeftCapWidth

-(.这个方法在iOS 5.0出来后就过期了,但是还是有人在用,例如用聊天背景的气泡)--本人不用它了,用上面一个方法就可以完美解决了!
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight __TVOS_PROHIBITED;

  • 这种方法的使用是:(前提是知道图片大小,然后取接近中间的点进行拉伸)
拉伸图片.png

分别 用上面的 2 个方法实现!(气泡图片是W:93 H:80)

方法1:

   //  拉伸图片  strectchable: 可伸缩的
    UIImage * image = [UIImage imageNamed:@"chatto_bg_normal.png"];
    image = [image stretchableImageWithLeftCapWidth:45 topCapHeight:55];
    _popoImageView.image = image;

方法2:

    UIImage * image = [UIImage imageNamed:@"chatto_bg_normal.png"];
    // resizable:  可变尺寸的;可调整大小的(这方法也可以)
    UIImage * imageRe = [image resizableImageWithCapInsets:UIEdgeInsetsMake(30, 41, 40, 40)];
    _popoImageView.image = imageRe;
  • 两个方法实现的效果一样:
666.png

下面是使用苹果官方推荐使用的storyboard技术!

  • 使用起来是非常简单的!你会喜欢上它的!(因为实在太简便了!)
  • 原理是一样的,就是在一张图片上,取到中心点得位置,然后,用这个中心点得像素进行拉伸放大!其它不变!
  • 就这样就可以了么?
    -是的!!!,x 和 y,就是取到图片中心点得位置!
  • Width 和 Height 为0.1 就是把它们扩大到你想要的位置了。


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

推荐阅读更多精彩内容

  • 嗯哼嗯哼蹦擦擦~~~ 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 ...
    philiha阅读 5,070评论 0 6
  • 在使用js中的this时,由于js的语法规则,this的指向是会改变的,js中的this指向是根据函数在执行时的作...
    四月天__阅读 237评论 0 0
  • 经过初高中学习平面几何的洗礼,肯定要知道三角形的重心、外心、垂心、内心、旁心,也就是俗称的三角形的五心。 三角形只...
    百合兔子阅读 24,966评论 1 11
  • 惟大诚可以破天下之伪,惟大信可以破天下之疑。现时谈及诚信,今不如昔,人未若前,实以哀情慨叹不古之世心。考思...
    闻人清瑜阅读 550评论 0 4
  • 她说 向南 左飞 有人会带着婴儿般的微笑 等我。
    留子尧阅读 177评论 0 1