服务器之家

服务器之家 > 正文

iOS开发之自定义图片拉伸功能

时间:2021-03-22 16:14     来源/作者:shuai265

需求

为了减小app体积,同时为了适配不同尺寸屏幕或不同应用场景,很多图片素材都是标准通用的,比如im消息气泡、按钮阴影效果等,但直接使用这些素材会产生一些问题,假如我们需要实现以下效果,即使用图片为账号密码输入框添加阴影效果:

iOS开发之自定义图片拉伸功能 

图片素材:

iOS开发之自定义图片拉伸功能

直接使用图片实现的效果与需求效果对比:

iOS开发之自定义图片拉伸功能

经过自定义拉伸调整过后,最终效果:

iOS开发之自定义图片拉伸功能

实现

将storyboard中的控件关联到代码文件中,accounttextbgimageview 为textfiled 下的背景图片视图,实现代码如下:

?
1
2
uiimage *textbgimage = [_accounttextbgimageview.image resizableimagewithcapinsets:uiedgeinsetsmake(12, 22, 12, 22) resizingmode:uiimageresizingmodestretch];
_accounttextbgimageview.image = textbgimage;

其中 uiedgeinsetsmake 将创建并返回一个 edge inset。 edge inset 控制着拉伸图片的位置,其四个参数按上左下右的顺序,指明拉伸范围距各个边的距离,从下图可以看出edge inset 的内容和作用,我们可以拉伸图片的同时,保证四个角不会变形。

iOS开发之自定义图片拉伸功能

示例中我们的图片为90x50pixels,等同于 45x25pt,我们拉伸图片时,需要保留四个角的圆弧不变形,只要拉伸横向纵向中间一个pt就可以了,所以我们在代码中将edge inset 设置为(12,22,12,22),即可实现我们的需求。

以上所述是小编给大家介绍的ios开发之自定义图片拉伸功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/shuai265/article/details/73836056

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部