Crash stattfindet, weil "CALayer Grenzen enthält NaN: [nan 0; nan 15.1]"

Bekomme ich folgenden crash:

CALayerInvalidGeometry CALayerInvalidGeometry
CALayer bounds contains NaN: [nan 0; nan 15.1]

in der letzten Zeile dieses code:

CGRect bounds = self.bounds;
bounds.size = CGSizeMake(fabsf(self.width), self.height);
self.bounds = bounds;

wo selbst.Breite ist abgeleitet von einem pan gesture recognizer:

CGPoint panGestureRecognizerTranslationPoint = [panGestureRecognizer translationInView:panGestureRecognizer.view.superview.superview];

CGPoint rotatedPanGestureRecognizerTranslationPoint = CGPointApplyAffineTransform(panGestureRecognizerTranslationPoint, CGAffineTransformMakeRotation(-self.angle));
self.width += rotatedPanGestureRecognizerTranslationPoint.x;

Die eine gemeinsamkeit, wenn ich dieser Absturz ist in der Fehlermeldung, es ist immer [nan 0; gefolgt von etwas. Wer weiß, was könnte die Ursache sein?

Haben Sie sich die Größe und Breite Variablen? Welcher Datentyp sind Sie?
Sie sind beide CGFloat. Nein, ich habe nicht melden Sie, dies ist ein crash-Bericht von einem Benutzer also nicht sicher, welche Werte wurden den Absturz verursacht.
siehe Kommentare auf Wain Antwort. Er fragte etwas.
vielen Dank für das heads-up, ich reagierte auf ihn.

InformationsquelleAutor Ser Pounce | 2014-01-06

Schreibe einen Kommentar