iOS编程——Swift使用resizableImageWithCapInsets来拉伸图片
来源:互联网 发布:mac版betterzip注册码 编辑:程序博客网 时间:2024/06/05 17:45
在做项目的过程中,经常要用到各种尺寸的图片。有的图片则是长度不同,但是他们的某些区域是相同的。那有没有什么方法可以不用美工来切好多张图,用一张就可以实现呢?
这样既可以减轻美工工作量,又可以减少包得大小。 答案就是用resizableImageWithCapInsets。声明如下:
func resizableImageWithCapInsets(capInsets: UIEdgeInsets, resizingMode: UIImageResizingMode) -> UIImage // the interior is resized according to the resizingMode
其中使用capInsets:UIEdgeInsets 可以圈定一个矩形,这个图片矩形内的区域会拉伸变形,而这个矩形区域外的部分则会保持原样。
resizingMode:包括两种模式:
1)Title 通过重复显示UIEdgeInsets指定的矩形区域来填充图片
2) Stretch 通过拉伸UIEdgeInsets指定的矩形区域来填充图片
enum UIImageResizingMode : Int { case Tile case Stretch}
这里我们仅说iOS 6.0以后(现在都已经8.0多了,兼容iOS6以后就相当可以了)
我们先添加一张图片,其最初大小为(100, 30),假设适配的iPhone 6
//default size (100, 30) let imageView = UIImageView(frame: CGRectMake(40, 40, 100, 30)) let image = UIImage(named: "test") imageView.image = image view.addSubview(imageView)
显示原来大小:
现在比如要适配 Plus,要拉伸这个图,尺寸变为(300, 30)
let imageView = UIImageView(frame: CGRectMake(40, 40, 300, 30)) imageView.image = image view.addSubview(imageView)
显示的很难看了:
我们把左边10个像素和右边的40个像素给保持原样,中间的蓝色区域来进行拉伸
let imageView = UIImageView(frame: CGRectMake(40, 40, 300, 30)) let image = UIImage(named: "test")?.resizableImageWithCapInsets(UIEdgeInsetsMake(0, 10, 0, 40), resizingMode: UIImageResizingMode.Stretch) imageView.image = image view.addSubview(imageView)
这样就显示正常了。
0 0
- iOS编程——Swift使用resizableImageWithCapInsets来拉伸图片
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- iOS图片拉伸技巧—— resizableImageWithCapInsets/stretchableImageWithLeftCapWidth
- ios 图片拉伸resizableImageWithCapInsets:详解
- iOS聊天气泡的处理——图片拉伸resizableImageWithCapInsets:resizingMode
- ios开发 - iPhone图片拉伸:resizableImageWithCapInsets
- IOS UIImage图片拉伸技巧-resizableImageWithCapInsets
- iOS图片拉伸之神属性:resizableImageWithCapInsets
- 图片拉伸 [UIImage resizableImageWithCapInsets:]使用注意
- resizableImageWithCapInsets对图片拉伸的使用见解
- iPhone图片拉伸:resizableImageWithCapInsets
- 数据结构实验之栈:行编辑器
- 使用ZXing扫描条形码和二维码
- 一个好用的vim+go开发环境
- oracle数据文件被误删除后的灾难处理方法
- 【python工具篇】pip和pypi
- iOS编程——Swift使用resizableImageWithCapInsets来拉伸图片
- C++ 组合函数
- “机器学习MLDT”图书翻译稿
- 标准库的String类型详解
- GLSurfaceView
- chm文档打开右侧空白解决方法
- ORA-27041 ORA-01110 ORA-01116 物理删除undo后报错
- execute、executeUpdate、executeQuery三者的区别(及返回值)(
- 升级JFlash后无法连接JLINK问题处理