これらのメソッドの機能を理解しようとしています。それらのセマンティクスを理解するための簡単なユースケースを提供していただけませんか?
ドキュメントから、たとえば、convertPoint:fromView:メソッドは次のように説明されています。
指定されたビューの座標系からレシーバーの座標系にポイントを変換します。
何をしないシステムの座標の平均を?およそ何レシーバ?
たとえば、次のようにconvertPoint:fromView:を使用しても意味がありますか?
CGPoint p = [view1 convertPoint:view1.center fromView:view1];
NSLogユーティリティを使用して、p値がview1の中心と一致することを確認しました。
前もって感謝します。
編集:興味のある方のために、これらのメソッドを理解するための簡単なコードスニペットを作成しました。
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));
どちらの場合も、self.windowがレシーバーです。しかし、違いがあります。最初のケースでは、convertPointパラメータはview1座標で表されます。出力は次のとおりです。
convertPoint:fromView:{100、100}
2番目のものでは、代わりに、convertPointはスーパービュー(self.window)座標で表されます。出力は次のとおりです。
convertPoint:toView:{0、0}
convertPoint
およびconvertRect
戻り値の型が異なります。CGPoint
またはCGRect
。しかし、何についてfrom
とto
?使用できる経験則はありますか?ありがとうございました。