Hallo zusammen,
ich hab ein Problem mit der Methode convertPoint:fromView: .
Meine App startet mit einem UIScrollView. Die ScrollView beinhaltet eine relativ große UIView mittels:
UIView (_mainView) und contentSize der ScrollView sind gleich. Beim Starten der App wird initial ein UIButton in die Mitte gesetzt, dessen Koordinaten sind dann auf dem iPad z.B x: 1820.00 y: 2525.00.
Der Nutzer kann nun ähnlich einer MindMap Gruppen hinzufügen, dargestellt ebenfalls durch einen abgewandelten UIButton. Die Gruppen werden mit einer Linie (CAShapeLayer) jeweils mit ihrer "Übergruppe" verbunden.
Jeder Button hat jeweils einen linken und einen rechten Verbindungspunkt. Diesen Verbindungspunkt konvertiert die UIView _mainView , um die Linie zu zeichnen.
Jetzt hab ich folgendes Problem: Der Benutzer fügt der Hauptgruppe eine Untergruppe hinzu (welche ein Stück weiter rechts platziert wird). Die Linie wird vom rechten Verbindungspunkt der Hauptgruppe zum linken Verbindungspunkt der ersten Untergruppe gezeichnet. Berechnet werden die Punkte in der UIView _mainView wie folgt:
Der Nutzer fügt nun der ersten Untergruppe eine weitere Untergruppe hinzu. Die Punkte werden dementsprechend wie folgt berechnet:
Das funktioniert wunderbar - bis die App neugestartet wird. Beim Neustart werden die Gruppen und deren Position aus CoreData-Objekten neugeladen und der UIView _mainView wieder hinzugefügt.
Die Linien werden dann von der Hauptgruppe zur ersten Untergruppe korrekt gezeichnet. Alle weiteren Linien werden dann allerdings falsch gezeichnet, da der startPoint scheinbar falsch konvertiert wird.
Die Startpunkte liegen dann alle irgendwo rechts unten, die Endpunkte passen aber immer.
Recht kompliziert zu erklären, ich hoffe, da blickt wer durch. Hat jemand ne Idee oder nen Anhaltspunkt, wo ich weiter suchen könnte?
ich hab ein Problem mit der Methode convertPoint:fromView: .
Meine App startet mit einem UIScrollView. Die ScrollView beinhaltet eine relativ große UIView mittels:
UIView (_mainView) und contentSize der ScrollView sind gleich. Beim Starten der App wird initial ein UIButton in die Mitte gesetzt, dessen Koordinaten sind dann auf dem iPad z.B x: 1820.00 y: 2525.00.
Der Nutzer kann nun ähnlich einer MindMap Gruppen hinzufügen, dargestellt ebenfalls durch einen abgewandelten UIButton. Die Gruppen werden mit einer Linie (CAShapeLayer) jeweils mit ihrer "Übergruppe" verbunden.
Jeder Button hat jeweils einen linken und einen rechten Verbindungspunkt. Diesen Verbindungspunkt konvertiert die UIView _mainView , um die Linie zu zeichnen.
Jetzt hab ich folgendes Problem: Der Benutzer fügt der Hauptgruppe eine Untergruppe hinzu (welche ein Stück weiter rechts platziert wird). Die Linie wird vom rechten Verbindungspunkt der Hauptgruppe zum linken Verbindungspunkt der ersten Untergruppe gezeichnet. Berechnet werden die Punkte in der UIView _mainView wie folgt:
Der Nutzer fügt nun der ersten Untergruppe eine weitere Untergruppe hinzu. Die Punkte werden dementsprechend wie folgt berechnet:
Das funktioniert wunderbar - bis die App neugestartet wird. Beim Neustart werden die Gruppen und deren Position aus CoreData-Objekten neugeladen und der UIView _mainView wieder hinzugefügt.
Die Linien werden dann von der Hauptgruppe zur ersten Untergruppe korrekt gezeichnet. Alle weiteren Linien werden dann allerdings falsch gezeichnet, da der startPoint scheinbar falsch konvertiert wird.
Die Startpunkte liegen dann alle irgendwo rechts unten, die Endpunkte passen aber immer.
Recht kompliziert zu erklären, ich hoffe, da blickt wer durch. Hat jemand ne Idee oder nen Anhaltspunkt, wo ich weiter suchen könnte?