成都网站建设设计

将想法与焦点和您一起共享

iOS中如何实现自定义图片拉伸功能-创新互联

这篇文章将为大家详细讲解有关iOS中如何实现自定义图片拉伸功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联公司服务项目包括阿克塞哈萨克族自治网站建设、阿克塞哈萨克族自治网站制作、阿克塞哈萨克族自治网页制作以及阿克塞哈萨克族自治网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,阿克塞哈萨克族自治网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到阿克塞哈萨克族自治省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

需求

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

iOS中如何实现自定义图片拉伸功能

图片素材:

iOS中如何实现自定义图片拉伸功能

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

iOS中如何实现自定义图片拉伸功能

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

iOS中如何实现自定义图片拉伸功能

实现

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

  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中如何实现自定义图片拉伸功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:iOS中如何实现自定义图片拉伸功能-创新互联
文章起源:http://chengdu.cdxwcx.cn/article/cessod.html