我试图了解这些方法的功能.你能给我一个简单的用例来理解他们的语义吗?
从文档中,例如,convertPoint:fromView:方法描述如下:
将点从给定视图的坐标系转换为接收器的坐标系.
什么是坐标系是什么意思?接收器怎么样?
例如,使用convertPoint:fromView是否有意义:如下所示?
CGPoint p = [view1 convertPoint:view1.center fromView:view1];
Run Code Online (Sandbox Code Playgroud)
使用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));
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,self.window都是接收者.但是有区别.在第一种情况下,convertPoint参数以view1坐标表示.输出如下:
convertPoint:fromView:{100,100}
而在第二个中,convertPoint以superview(self.window)坐标表示.输出如下:
convertPoint:toView:{0,0}