通过查看生成的崩溃报告,我可以看到此错误出现了很多.但是,很难说出导致它失败的原因:
Exception name: CALayer position contains NaN:
在我的代码中,我有一个NSTimer,它在X延迟后删除包含动画CALayers的自定义MKAnnotation.我猜我需要在调用removeFromSuperView之前调用view.layer removeAllAnimations.
目前,我只调用removeFromSuperView.
堆栈日志:
Exception name: CALayer position contains NaN: [nan 163.74] __exceptionPreprocess + 1241536 objc_exception_throw + 34136 +[NSException raise:format:] + 1241348 CA::Layer::set_position(CA::Vec2<double> const&,bool) + 1101236 -[CALayer setPosition:] + 1101608 -[CALayer setFrame:] + 1103040 -[UIView(Geometry) setFrame:] + 39996 Mapbox (4306594984 + 60584) Mapbox (4306593356 + 58956) Mapbox (4306685072 + 150672) Mapbox (4306682568 + 148168) __NSFireDelayedPerform + 998556
任何投入将不胜感激!
解决方法
请检查您是否在视图中使用了可能已应用约束的动画.在这种情况下,可以创建视图的快照并在该视图上应用动画.完成后删除快照视图.
[viewObject snapshotViewAfterScreenUpdates:YES];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。