Ich versuche die Funktionen dieser Methoden zu verstehen. Könnten Sie mir einen einfachen Anwendungsfall geben, um ihre Semantik zu verstehen?
In der Dokumentation wird beispielsweise die Methode convertPoint: fromView: wie folgt beschrieben:
Konvertiert einen Punkt aus dem Koordinatensystem einer bestimmten Ansicht in den des Empfängers.
Was bedeutet das Koordinatensystem ? Was ist mit dem Empfänger ?
Ist es beispielsweise sinnvoll, convertPoint: fromView: wie folgt zu verwenden?
CGPoint p = [view1 convertPoint:view1.center fromView:view1];
Mit dem Dienstprogramm NSLog habe ich überprüft, ob der p-Wert mit der Mitte von view1 übereinstimmt.
Vielen Dank im Voraus.
BEARBEITEN: Für Interessenten habe ich ein einfaches Code-Snippet erstellt, um diese Methoden zu verstehen.
UIView* view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 150, 200)];
view1.backgroundColor = [UIColor redColor];
NSLog(@"view1 frame: %@", NSStringFromCGRect(view1.frame));
NSLog(@"view1 center: %@", NSStringFromCGPoint(view1.center));
CGPoint originInWindowCoordinates = [self.window convertPoint:view1.bounds.origin fromView:view1];
NSLog(@"convertPoint:fromView: %@", NSStringFromCGPoint(originInWindowCoordinates));
CGPoint originInView1Coordinates = [self.window convertPoint:view1.frame.origin toView:view1];
NSLog(@"convertPoint:toView: %@", NSStringFromCGPoint(originInView1Coordinates));
In beiden Fällen ist self.window der Empfänger. Aber es gibt einen Unterschied. Im ersten Fall wird der Parameter convertPoint in view1-Koordinaten ausgedrückt. Die Ausgabe ist die folgende:
convertPoint: fromView: {100, 100}
Im zweiten Fall wird der convertPoint stattdessen in Koordinaten der Übersicht (self.window) ausgedrückt. Die Ausgabe ist die folgende:
convertPoint: toView: {0, 0}

convertPointundconvertRectunterscheiden sich in der Rückgabeart.CGPointoderCGRect. Aber was ist mitfromundto? Gibt es eine Faustregel, die ich verwenden könnte? Danke dir.