当iPad改变方向时,我会卸载旧方向的视图并加载新方向的视图.所以说它是在纵向视图中然后更改为横向应用程序卸载纵向视图并加载横向视图.这一切都很有效,除非pdf很大.
pdf是使用tileslayers绘制的.当方向改变为大pdf时,应用程序正在进行清理.如果在绘制完所有图块之前更改了方向,则应用程序仅会崩溃.我的猜测是它崩溃了,因为它试图将瓷砖绘制到视图而不是已卸载.那么当我卸载视图时有没有办法停止绘制图块?
解决方法 您需要将CALayer的委托设置为nil,然后将其从supervIEw中删除.这会停止渲染,之后您可以安全地释放.
- (voID)stopTiledRenderingAndRemoveFromSuperlayer; { ((CATiledLayer *)[self layer]).delegate = nil; [self removeFromSupervIEw]; [self.layer removeFromSuperlayer];}
另外,请确保从主线程中调用此方法,否则可能会出现可怕的错误.
总结以上是内存溢出为你收集整理的iOS CATiledLayer崩溃全部内容,希望文章能够帮你解决iOS CATiledLayer崩溃所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)