swift 关于背景图片的拉伸与平铺
2017-05-09 11:17
246 查看
在ios开发中很多的地方都会需要我们添加背景图片,下面是添加背景图片的方法:
一般的情况下我们往往是通过backgroundImage属性来设置背景图片,但是在有的View中没有backgroundImage这个属性,这时候我们可以通过backgroundColor这个属性来添加背景图,具体方法如下:
例如:
reusableViews.backgroundColor = UIColor(patternImage: UIImage(named:"bg")!)但是这种方法如果图片大小不够则会根据背景页面的大小进行平铺,无法将小图片进行拉伸。
使用以下的方法可以对图片进行拉伸:
方法一: 在layer层改变contents
例如:
reusableViews.layer.contents = UIImage(named: "bg")?.CGImage
方法二:对图片进行重绘
例如:
let image = UIImage(named: "bg")
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, false, 0.1);
image?.drawInRect(reusableViews.bounds)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
reusableViews.backgroundColor = UIColor(patternImage: newImage)对于这种方法来说如果只是简单的小部分使用还好,对内存没有什么影响,但如果要大量的去使用的话就需要考虑到对内存的消耗了。
一般的情况下我们往往是通过backgroundImage属性来设置背景图片,但是在有的View中没有backgroundImage这个属性,这时候我们可以通过backgroundColor这个属性来添加背景图,具体方法如下:
例如:
reusableViews.backgroundColor = UIColor(patternImage: UIImage(named:"bg")!)但是这种方法如果图片大小不够则会根据背景页面的大小进行平铺,无法将小图片进行拉伸。
使用以下的方法可以对图片进行拉伸:
方法一: 在layer层改变contents
例如:
reusableViews.layer.contents = UIImage(named: "bg")?.CGImage
方法二:对图片进行重绘
例如:
let image = UIImage(named: "bg")
UIGraphicsBeginImageContextWithOptions(self.view.frame.size, false, 0.1);
image?.drawInRect(reusableViews.bounds)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext();
reusableViews.backgroundColor = UIColor(patternImage: newImage)对于这种方法来说如果只是简单的小部分使用还好,对内存没有什么影响,但如果要大量的去使用的话就需要考虑到对内存的消耗了。
相关文章推荐
- 设置背景 平铺*背景图片拉伸
- GDI+ 与 GDI (平铺与拉伸)PNG背景图贴图片的方法
- android 防止背景图片被拉伸 背景图片平铺
- 关于GDI+的绘制小结:图片的拉伸、平铺、透明的GDI+实现
- GDI+ 与 GDI (平铺与拉伸)PNG背景图贴图片的方法
- GDI+ 与 GDI (平铺与拉伸)PNG背景图贴图片的方法
- 让div背景图片自动拉伸,而不是平铺!超简单!
- 【iOS开发-背景】关于按钮背景图片的拉伸
- 关于css背景图片平铺问题
- django之设置背景图片 CSS 拉伸 平铺
- 如何通过CSS实现背景图片自动平铺或拉伸至整个屏幕(自适应大小)
- background-image背景图片拉伸平铺
- 关于imageview 不让背景图片自动拉伸填充 imageview 以及布局参数的设置的小结(自己试验的可能不怎么准确)
- css 如何让背景图片拉伸填充避免重复显示 不是平铺
- 关于QGraphicsView里使用QGraphicsScene背景图片平铺的问题
- 图片的居中、拉伸与平铺 - 回复 "我是一只想飞的小小鸟" 的问题
- Flex 平铺背景图片
- Flex 平铺背景图片
- 【原创】关于更改桌面背景图片不见效的一种解决方法
- 关于背景图片的定位(background-position)