我正在使用日历应用程序,并且我在滚动视图的每个页面中都有很多视图。问题是在模拟器上运行良好,但是当我在设备上安装应用程序时,页面之间的滑动非常滞后。
我注意到很多时间都在买:
masksToBounds
- 我需要一些圈子视图-s addSubview
- 有很多并绘制drawRect
涉及的所有视图以更改所有方法和顺序,并且调整大小时也会有不同的行为。
问题是如何解决滞后问题?是drawRect
比子视图更好吗?
答案 0 :(得分:2)
我可以建议你另类。我最近开发了一个基于日历的iOS应用程序,并使用了这个已经可用的FSCalendar工具。这在模拟器上非常流畅。滚动月视图时的设备。
所以,你可能想试试这个!
答案 1 :(得分:0)
我提出的解决方案是有一个容器,我放置所有视图,然后我将该视图转换为UIImage
,并从20 UIView
' si设法减少到一个UIImageView
我使用此方法从UIView获取图像:
- (UIImage *)snapShotForView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}