相关疑难解决方法(0)

理解convertRect:toView:,convertRect:FromView:,convertPoint:toView:和convertPoint:fromView:methods

我试图了解这些方法的功能.你能给我一个简单的用例来理解他们的语义吗?

从文档中,例如,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}

layout uiview ios

127
推荐指数
5
解决办法
7万
查看次数

标签 统计

ios ×1

layout ×1

uiview ×1