图片拉伸问题

简介: 图片拉伸问题

图片拉伸问题


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

相关文章
|
XML 数据可视化 安全
IIS中的URL Rewrite模块功能学习总结
IIS中的URL Rewrite模块功能学习总结
550 0
IIS中的URL Rewrite模块功能学习总结
|
28天前
|
人工智能 数据处理
Qoder 全新「上下文压缩」功能正式上线,省 Credits !
Qoder 全新「上下文压缩」功能正式上线,高效管理会话上下文,节省开发成本,同时保持高效协作!
|
前端开发 网络协议 测试技术
探索PHP的异步编程模型:从React到Swoole
在Web开发领域,PHP一直以简单易用著称。然而,随着互联网应用对性能和并发处理能力的不断追求,传统的同步阻塞式编程模型已逐渐暴露出局限性。本文将深入探讨PHP中的异步编程模型,从早期的React到现代的Swoole,分析其原理、优势及应用场景,并通过实例展示如何利用这些工具提升PHP应用的性能和响应速度。文章旨在为PHP开发者提供一种全新的视角,帮助他们在构建高性能Web应用时做出更合理的技术选择。
207 27
|
API iOS开发 开发者
Snapchat API 访问:Objective-C 实现示例
Snapchat API 访问:Objective-C 实现示例
214 11
|
Rust 安全 调度
从零构建梦想操作系统:用Rust语言亲手打造专属内核,你也可以成为系统开发者!
【8月更文挑战第31天】开发操作系统内核虽具挑战,却也充满乐趣。本文将指导你从零开始,使用Rust语言构建一个简单的操作系统内核。首先安装Rust环境和交叉编译工具链,然后创建新项目`my_kernel`。通过修改`Cargo.toml`和编写启动函数,结合串口输出和`multiboot2`库,最终使用QEMU运行内核。此教程旨在帮助你理解Rust在系统开发中的应用,激发深入探索的兴趣。
698 1
|
缓存 监控 JavaScript
Node.js 性能优化技巧
【8月更文挑战第4天】Node.js 性能优化技巧
269 3
|
安全 API 开发工具
Android14 适配之——targetSdkVersion 升级到 34 需要注意些什么?(下)
Android14 适配之——targetSdkVersion 升级到 34 需要注意些什么?(下)
1787 0
|
存储 Java API
一篇文章讲明白luauserdata
一篇文章讲明白luauserdata
453 0
Go语言slice 实现原理,终于搞清楚它的扩容机制了!
slice 切片,因为其可以方便的进行扩容、传递等,在实际应用中比数组更加灵活。
674 0
Go语言slice 实现原理,终于搞清楚它的扩容机制了!
|
算法 数据可视化
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现-1
r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现