[UIImage resizableImageWithCapInsets:]使用注意
2015-10-11 23:56
465 查看
iOS5中UIImage添加了可以拉伸图片的函数,即:
[UIImage resizableImageWithCapInsets:]
它带参数: UIEdgeInsets,这是一结构体,包含 上/左/下/右四个参数。
iOS6中
上左下右4参数定义了cap inset,就是离四条边的距离。拉升时,cap到边的部分不会被拉升,其余部分则会被拉升。尤其需要注意的时,拉升的时候,是从左到右,从上到下的方向。通俗点说,拉升不是全方向的拉升,而是垂直和水平拉升的叠加。
以我遇到的问题为例,我的图片是170×50, 需要填充到240×140,但是四周的圆角以及小箭头保持原样,如图:
开始我设置参数{20,10,10,10},在图上的位置大致:
这样拉升的结果:
很奇怪是不是,为什么出现了两个箭头(红色部分是设置的背景色用语区分)?再回头看下文档,才恍然大悟:
拉升的时候,是按前文说的两个方向来拉升
拉升的部分,是以tiled方式,简单的说就是以镜像的方式
按照1的规则,拉升的时候,水平和垂直方向都需要拉升。这样在水平拉升的时候,箭头其实处于拉升的部分。而拉升的时候,先按照原有的尺寸添加进去,不足的地方再把中间不拉升的部分填充进去,周而复始,直到填充完毕。因此,就有上面的现象了。
要达到需要的效果,必须按照如下的设置:
于是得到了我们需要的效果:
转载:http://www.cnblogs.com/heyonggang/archive/2013/12/19/3482733.html
[UIImage resizableImageWithCapInsets:]
它带参数: UIEdgeInsets,这是一结构体,包含 上/左/下/右四个参数。
iOS6中
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)
上左下右4参数定义了cap inset,就是离四条边的距离。拉升时,cap到边的部分不会被拉升,其余部分则会被拉升。尤其需要注意的时,拉升的时候,是从左到右,从上到下的方向。通俗点说,拉升不是全方向的拉升,而是垂直和水平拉升的叠加。
以我遇到的问题为例,我的图片是170×50, 需要填充到240×140,但是四周的圆角以及小箭头保持原样,如图:
开始我设置参数{20,10,10,10},在图上的位置大致:
这样拉升的结果:
很奇怪是不是,为什么出现了两个箭头(红色部分是设置的背景色用语区分)?再回头看下文档,才恍然大悟:
拉升的时候,是按前文说的两个方向来拉升
拉升的部分,是以tiled方式,简单的说就是以镜像的方式
按照1的规则,拉升的时候,水平和垂直方向都需要拉升。这样在水平拉升的时候,箭头其实处于拉升的部分。而拉升的时候,先按照原有的尺寸添加进去,不足的地方再把中间不拉升的部分填充进去,周而复始,直到填充完毕。因此,就有上面的现象了。
要达到需要的效果,必须按照如下的设置:
于是得到了我们需要的效果:
转载:http://www.cnblogs.com/heyonggang/archive/2013/12/19/3482733.html
相关文章推荐
- xcode-select: error: tool ‘xcodebuild(转)
- UITextField的leftView和rightView属性
- STL之priority_queue实现
- STL之queue实现
- STL之deque实现
- sciprts.jsp for requirejs
- requireJS config.js
- popViewControllerAnimated 后,对页面内UITableView 内数据刷新
- 构建android UI 学习心得,摘要
- request.getPathInfo();
- Twenty Questions
- EasyUI - Panel 面板控件
- hdu 5496 Beauty of Sequence(高效)
- UIKit
- 有了Auto Layout,为什么你还是害怕写UITabelView的自适应布局?
- UI基础总结第一天
- 【IOS 开发学习总结-OC-43】★ios开发——UIButton(按钮)与 UISwitch(开关按钮)
- UI设计十戒--设计师的艺术
- UI交互设计体验--未来声控之路?
- UIButton 文字显示位置设置 字体的大小设置 字体的颜色设置 注意事项