最佳答案
我试图理解这些方法的功能。你能为我提供一个简单的用例来理解他们的语义吗?
例如,根据文档,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: from View: {100,100}
相反,在第二个函数中,convertPoint
以 Superview (self.window
)坐标表示:
转换点: toView: {0,0}