iOS图片拉伸填充背景
2016-04-16 13:21
239 查看
1、有的时候,需要为view设置背景图,但是美工的切图并不是完整的按照view尺寸进行切图,这时就需要将图片拉伸填充,代码如下:
2、stretchableImageWithLeftCapWidth:topCapHeight:方法是专门用来拉伸图片的,
resizableImageWithCapInsets:也是用来拉伸图片的,参数是一个UIEdgeInsets,用来设定内边距的。
UIImage在拉伸的时候有2种模式,UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
3、 利用平铺模式的时候要注意了,如果所使用的图片比较小,而view的背景比较大时,图片就会使用原有的图片多次填充,所以结果就是view的背景会出现很多个小图片,
+ (UIImage *)stretchableWithImageName:(NSString *)imageName{ UIImage *image = [UIImage imageNamed:imageName]; // 左端盖宽度 NSInteger leftCapWidth = image.size.width * 0.5f; // 顶端盖高度 NSInteger topCapHeight = image.size.height * 0.5f; // 重新赋值 return [image stretchableImageWithLeftCapWidth:leftCapWidth topCapHeight:topCapHeight]; }
2、stretchableImageWithLeftCapWidth:topCapHeight:方法是专门用来拉伸图片的,
resizableImageWithCapInsets:也是用来拉伸图片的,参数是一个UIEdgeInsets,用来设定内边距的。
UIImage在拉伸的时候有2种模式,UIImageResizingModeStretch:拉伸模式,通过拉伸UIEdgeInsets指定的矩形区域来填充图片
UIImageResizingModeTile:平铺模式,通过重复显示UIEdgeInsets指定的矩形区域来填充图片
3、 利用平铺模式的时候要注意了,如果所使用的图片比较小,而view的背景比较大时,图片就会使用原有的图片多次填充,所以结果就是view的背景会出现很多个小图片,
相关文章推荐
- 苹果开发者账号类型以及区别
- ios多线程操作(十一)—— NSOperation的高级操作
- ios多线程操作(十)—— 用NSOperation开启多线程操作
- ios多线程操作(九)—— 用NSOperation代替GCD
- ios多线程操作(八)—— GCD调度组
- ios多线程操作(七)—— GCD延迟操作与一次性代码
- ios多线程操作(六)—— GCD全局队列与主队列
- ios多线程操作(五)—— GCD串行队列与并发队列
- ios多线程操作(四)—— GCD核心概念
- ios多线程操作(三)—— 线程通讯
- ios多线程操作(二)—— NSThread的应用
- ios多线程操作(一)—— 多线程基础与原理
- iOS远程通知的实现机制
- iOS- 利用AFNetworking3.0+(最新AFN) - 实现文件断点下载
- 关于iOS内购
- 利用IOS的异常处理机制来做崩溃统计分析
- iOS CocoaPods安装和使用
- IOS开发 - Info.plist跟pch文件的作用
- ios互斥锁,线程同步
- IOS开发-读取xib文件