图片拉伸问题

简介: 图片拉伸问题

图片拉伸问题


UIImage *image = [UIImage imageNamed:@"chat_send_nor"];

// 1.2 拿到image的尺寸
CGFloat imageWidth = image.size.width;
CGFloat imageHeight = image.size.height;
###方式一
UIImage *resizableImage = [image resizableImageWithCapInsets:UIEdgeInsetsMake(imageHeight * 0.5, imageWidth * 0.5, imageHeight * 0.5 -1, imageWidth * 0.5 - 1) resizingMode:UIImageResizingModeTile];
[self.button setBackgroundImage:image forState:UIControlStateNormal];
###方式二
/*
   右边需要保护的区域 = 图片的width - leftCapWidth - 1
   底部需要保护的区域 =  height - topCapHeight - 1
 */
UIImage *resizableImage = [image stretchableImageWithLeftCapWidth:imageWidth * 0.5 topCapHeight:imageHeight * 0.5];
[self.button setBackgroundImage:image forState:UIControlStateNormal];

方式三   在Assets.xcassets里面设置就可以

c73c1a39fe9ffd6a99694e2c1aedd0c2.png

如果你非得用代码的话,我建议给UIImage添加一个分类

步骤如下

第一步:

e4c9f26d5aac5a3d1db2b9d2d7dd1342.png

第二步:

f8c4025f4596a0b97a4003e16cf5e6f5.png

第三步:在.h文件提供一个方法出来

4854247a595a2420641c2232e3b75e51.png

第四步:在.m文件中实现

53c83e27a34efb3d54570fb1656d32a2.png

使用方法:

导入头文件  类方法调用传递一张图片名字就OK

477d51bbeaedf1807e062241736eb8a0.png

相关文章
|
定位技术 API 开发工具
AppsFlyer 研究(七) 非GPS设备用户归因解决方案
AppsFlyer 研究(七) 非GPS设备用户归因解决方案
335 0
|
7月前
|
前端开发 JavaScript 开发者
前端技术栈:探索现代Web开发的核心要素与代码实践
前端技术栈:探索现代Web开发的核心要素与代码实践
240 1
|
6月前
|
存储 Java API
一篇文章讲明白luauserdata
一篇文章讲明白luauserdata
210 0
|
7月前
|
网络安全
Misc | bucket 第二届“奇安信”杯网络安全技能竞赛
Misc | bucket 第二届“奇安信”杯网络安全技能竞赛
89 0
|
JavaScript 前端开发
TypeScript 可以编译成纯 JavaScript,并且可以在任何浏览器上运行,具体应用案例解析
TypeScript 可以编译成纯 JavaScript,并且可以在任何浏览器上运行,具体应用案例解析
150 1
|
应用服务中间件
2019版本idea启动tomcat8.5版本控制台中文乱码
2019版本idea启动tomcat8.5版本控制台中文乱码
176 0
|
Android开发
【错误记录】Android Studio 配置 GitHub 报错 ( Can‘t login using given credentials: Request response: 401 Una )
【错误记录】Android Studio 配置 GitHub 报错 ( Can‘t login using given credentials: Request response: 401 Una )
411 0
【错误记录】Android Studio 配置 GitHub 报错 ( Can‘t login using given credentials: Request response: 401 Una )
|
机器学习/深度学习 存储 编解码
使用深度学习从分割图生成图像
使用深度学习从分割图生成图像
190 0
|
芯片 内存技术
天猫精灵蓝牙mesh协议栈demo解析
本文档简单主要介绍如何基于天猫精灵蓝牙mesh协议栈进行产品开发,对目前代码中的light demo进行说明。
|
消息中间件 Linux 数据处理
Linux驱动开发——内核延时操作和内核等待队列
Linux驱动开发——内核延时操作和内核等待队列
389 0
Linux驱动开发——内核延时操作和内核等待队列