Kontakt Lage zu lösen versuchen, kehrt immer Null (0) als x-Position
-
06-07-2019 - |
Frage
Während die touchesBegan Handler für meine Ansicht schreibe ich in diesem interessanten Fehler lief.
Code:
...
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
...
Das Problem ist point.x ist immer Null, egal wo ich „touch“ und y eine große Zahl ist, die irgendwo zwischen 1070000000 und 1090000000 flunctuates.
Die Griffe ist in einer Ansichtsklasse und es funktioniert auf die gleiche ist gebe ich null statt selbst zu locationInView. Ich habe auch versucht, über all die Berührungen Looping, und es ist nur, dass man mit x als Null immer.
Also, was ich hier falsch mache?
Lösung
Jede Chance, Sie NSLog verwenden (@ "% d,% d", point.x, point.y); die Punktwerte auszudrucken? Es klingt ein bisschen wie ein Schwimmer -> int Konvertierungsfehler. Ich habe verwendet locationInView: viel, und ich habe noch nie ein Problem wie dieses hatte.
Sie auch versuchen könnten, [self frame] Kontrolle, um sicherzustellen, es ist ungleich Null.
Andere Tipps
Ben ist richtig. Das Problem ist, wenn Sie versuchen, den Wert mit %d
in NSLog
zu drucken, weil point.x
und point.y
sind Float-Werte.