containsPoint: für UIBezierPath stürzt ab

8

Ich analysiere eine SVG-Datei nach UIBezierPath . Ich würde gerne wissen, ob ein CGPoint innerhalb oder außerhalb der UIBezierPath ist. Dazu benutze ich containsPoint: . Wenn ich das im Simulator starte, funktioniert alles (fast!). Wenn ich ein iPad-Gerät starte, stürzt es auf einigen Pfaden und Punkten ab. Ich rufe closePath für jedes UIBezierPath an, bevor ich containsPoint: anrufe.

Hier sind einige Pfade und Punkte, die es zum Absturz bringen (ich randomize die Punkte, also könnte es mehr Crash-Punkte geben):

%Vor%

Ich kann nicht herausfinden, warum es abstürzt. Für mich sollte es YES oder NO zurückgeben, egal welchen Pfad oder Punkt es bekommt.

Warum stürzt es ab? : - (

    
Thomas Clemensen 19.09.2012, 07:09
quelle

2 Antworten

0

Es stellt sich heraus, dass der Absturz ein Fehler im Framework ist. Diese Antwort bietet eine weitere Möglichkeit, festzustellen, ob sich ein Punkt in einem UIBezierPath befindet.

    
Thomas Clemensen 22.10.2012, 06:53
quelle
2

Probieren Sie die Techniken zur Trefferprüfung in diesem Beitrag aus:

Ссылка

Ich benutze dies in einer meiner Apps und es funktioniert ohne Probleme. Seine Beispiele waren alles, was ich brauchte, um die Dinge zum Laufen zu bringen. Wenn du mehr Hilfe brauchst, kann ich heute Nacht meinen Code schreiben.

Wenn Sie Hilfe beim SVG-Parsing benötigen, habe ich ein Github-Projekt abgezweigt, um SVG-Pfade zu analysieren, und es um Stützlinien- und Polylinienelemente erweitert. Ich konvertiere SVGs in UIBezierPaths und mache dann Animationen und treffe Tests zum Fingerzeichnen.

Ссылка

    
stevekohls 05.10.2012 14:48
quelle

Tags und Links