您的位置:首页 > 产品设计 > UI/UE

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的文字确很模糊 ,特别是放大后,于是必须提高转化的图片的像素,使用如下方法:

- (UIImage *)convertViewToImage:(UIView*)v{
//设置高分辨率 防止文字模糊
UIGraphicsBeginImageContextWithOptions(v.bounds.size, false, [[UIScreen mainScreen] scale]*2);

[v.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage*image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: