美文网首页
iOS图片拉伸

iOS图片拉伸

作者: 今天写明天改 | 来源:发表于2022-05-05 19:53 被阅读0次

背景

图片拉伸这件事情大家应该经常做了,除了可以代码拉伸外,使用xib也可以自定义图片的拉伸。然而,最近被问到拉伸的界面上具体哪部分会被拉伸,哪部分会被覆盖的时候,一时语塞。所以今天和大家一起看看这部分知识。

基础

当我们在项目工程的Assets.xcasset中选中一个图片资源的时候,我们的资源对应Attribute Inspector的底部会看到这么一个区域


Attribute Inspectpr

这个区域就是负责我们资源进行拉伸的区域。其选项有None、Horizontal、Vertical、Horizontal and Vertical。当我们选择None的时候,意味着不拉伸,而选择Horizontal、Vertical时,面板会变成这样:


单方向拉伸
当我们选择Horizontal and Vertical时,面板就会变成:
双方向拉伸

之后我们打开图片的slice效果界面——在编辑器的右上角找到这个按钮:


图片拉伸转换按钮

进入到界面之后就可以进入今天的主题了。

实践

分隔线

不失一般性,我们选择横向纵向同时拉伸来讲一下,首先我们会看到界面上有三条横线、三条纵线,它们是代表拉伸的起始、分隔、结束:


分隔线

那么哪块区域代表要保留呢?我们不妨将分隔线设置成如下的样子:


对图片部分进行分隔
可以看到我们的横1和纵1分别是在顶部和最左侧,而其他的线都在日期的分隔线处,效果是什么样子呢?如果我们的slice Mode选择的是tiles,那么效果如下:
拉伸效果

可以看到,‘初八’填充了大部分‘廿二’和‘初十’填充了行和列。

结论

从结果图上可以看到我们选择tiles的时候,横1和横2之间的内容会替换横2和横3之间的内容、而横1和横3之外的内容不变;纵1和纵2之间的内容会替换纵2和纵3之间的内容、而纵1和纵3之外的内容不变。
当我们选择stretch模式的时候:横1和横2之间的内容会被拉伸,横2和横3之间的内容消失、而横1和横3之外的内容不变;纵1和纵2之间的内容会拉伸,纵2和纵3之间的内容消失、而纵1和纵3之外的内容不变。其效果如下:


stretch模式下拉伸效果

小结

在tiles模式下分隔线的左侧会替换右侧的内容,在tiles模式下,分隔线左侧的内容拉伸,右侧的内容消失。xib这个可视化工具极大方便了开发,但是像这些常用的知识点还是要多联系才记得住。

相关文章

  • 基础(一):UIImage图片拉伸技巧

    一、图片裁剪和拉伸 iOS中提供很好用的API帮我们实现上述功能。到iOS 6.0为止,iOS提供了3种图片拉伸的...

  • iOS 自定义下拉刷新控件 —— 解决图片拉伸与数据刷新冲突

    iOS 自定义下拉刷新控件 —— 解决图片拉伸与数据刷新冲突 iOS 自定义下拉刷新控件 —— 解决图片拉伸与数据...

  • iOS 图片拉伸

    工作中会遇到一些图片的拉伸处理,这里做一下小结 1.自定义拉伸范围处理 2.使图片两边不拉伸,中间拉伸 UIIma...

  • ios 图片拉伸

    效果: 这里是另一个人对拉伸方法的一种解析,不懂的可以看下,虽然效果一样,但我对其理解并不认同,很多方法直接查看A...

  • iOS 图片拉伸

    参考链接 在iOS6.0中,UIImage提供了一个方法处理图片拉伸 方法解释: 参数: resizingMode...

  • iOS 拉伸图片

    在一些情况下用图片来做背景,但是给的图片的尺寸很小,不能铺满给定的ImageView或者button,这时候就要靠...

  • iOS 拉伸图片

    在开发过程中总会遇到背景图片和控件大小一致的困扰,通常就是两种方法:1、找美工切大小合适的图片2、通过使用代码处理...

  • iOS 图片拉伸

    废话不多说,直接上代码 -- //保护左右侧,中间1像素进行mode UIImage * imageProtect...

  • iOS 图片拉伸

    转http://blog.csdn.net/q199109106q/article/details/8615661...

  • iOS 图片拉伸

    UIImageView * imageView = [[UIImageView alloc]initWithFra...

网友评论

      本文标题:iOS图片拉伸

      本文链接:https://www.haomeiwen.com/subject/rudoyrtx.html