【发布时间】:2014-01-06 11:54:18
【问题描述】:
我遇到了以下崩溃:
CALayerInvalidGeometry CALayerInvalidGeometry
CALayer bounds contains NaN: [nan 0; nan 15.1]
在这段代码的最后一行:
CGRect bounds = self.bounds;
bounds.size = CGSizeMake(fabsf(self.width), self.height);
self.bounds = bounds;
其中 self.width 源自平移手势识别器:
CGPoint panGestureRecognizerTranslationPoint = [panGestureRecognizer translationInView:panGestureRecognizer.view.superview.superview];
CGPoint rotatedPanGestureRecognizerTranslationPoint = CGPointApplyAffineTransform(panGestureRecognizerTranslationPoint, CGAffineTransformMakeRotation(-self.angle));
self.width += rotatedPanGestureRecognizerTranslationPoint.x;
我遇到此崩溃时的一个共同点是错误消息,它始终是 [nan 0;其次是某事。有谁知道是什么原因造成的?
【问题讨论】:
-
您是否记录了大小和宽度变量?它们是什么数据类型?
-
@Wain - 他们都是 CGFloat。不,我没有记录它们,这是来自用户的崩溃报告,所以不确定是什么值导致了崩溃。
-
@CoDEFRo 见 cmets 关于 Wain 的回答。他问了什么。
-
@Mani - 感谢您的提醒,我回复了他。
标签: ios iphone cocoa-touch