UIScrollView 性能优化 - view转为Image
2016-06-20 11:18
405 查看
进入做地图闹钟app,图层关系是这样的: subwayView 上先绘制线路上各个元素:线条 ,站点名称-Label,站点位置(画圆圈表示)-View.shapeLayer UIBezierPath 方式绘制;subwaView add 在Scrollview 上,然后实现放大缩小操作,发现上下左右移动时候不是很流畅的感觉,分析应该是subwayView 的subView数量(200多个 )有影响。
想到的办法subwayView 绘制完所有的Subview后 ,将其转化为Image,然后移除所有的Subview,再将在 subwayView 上嵌套imageview ,之后缩放相当于缩放一个iamge。
经过测试果然流畅了。问题视乎解决了。但是发现label的文字确很模糊 ,特别是放大后,于是必须提高转化的图片的像素,使用如下方法:
想到的办法subwayView 绘制完所有的Subview后 ,将其转化为Image,然后移除所有的Subview,再将在 subwayView 上嵌套imageview ,之后缩放相当于缩放一个iamge。
经过测试果然流畅了。问题视乎解决了。但是发现label的文字确很模糊 ,特别是放大后,于是必须提高转化的图片的像素,使用如下方法:
- (UIImage *)convertViewToImage:(UIView*)v{ //设置高分辨率 防止文字模糊 UIGraphicsBeginImageContextWithOptions(v.bounds.size, false, [[UIScreen mainScreen] scale]*2); [v.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage*image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; }
相关文章推荐
- 357. Count Numbers with Unique Digits
- Android酷炫实用的开源框架(UI框架)
- return true 的应用(判断三个块相连)和块的存储
- request 访问路径地址
- iOS解决UIcollectionView添加手势后不响应其cell的问题
- iOS流布局UICollectionView系列一——初识与简单使用UICollectionView
- RESTEasy:@FormParam、@PathParam、@QueryParam、@HeaderParam、@CookieParam、@MatrixParam说明
- LinkedBlockingQueue 与ConcurrentLinkedQueue队列的不同与同
- iOS-UIButton 全面解析
- UIStackView的演练-学习
- 网摘:漫谈law、equity、act、statute、code、bill等法律英语词汇
- APIs — A Strategy Guide】系列之二 把API作为你的商业策略
- leetcode_357 Count Numbers with Unique Digits
- quagga-mtr——Multi-Topology Routing support for quagga routing suite
- uiautomator中踩过的坑
- PBS命令相关
- JSP内置对象——request 及其响应get和post请求的实例
- 【Arduino官方教程】基础示例(五):LED亮度渐变(Fade)
- cocoa touch——UIPageControl
- iOS UIAlertController