UIView中获取相对坐标主要有4个方法
用法主要看以下代码和运行结果
NSLog(@"aView:%@\nbView:%@\ncView:%@\ndView:%@",NSStringFromCGRect(self.aView.frame),NSStringFromCGRect(self.bView.frame),NSStringFromCGRect(self.cView.frame),NSStringFromCGRect(self.dView.frame));
//1 求 cView 在 aView 中的 frame
CGRect rect1 = [self.cView.superview convertRect:self.cView.frame toView:self.aView];
NSLog(@"转换1(C->A):%@",NSStringFromCGRect(rect1));
//2 求 cView 在 self.view 中的 frame
CGRect rect6 = [self.bView convertRect:self.cView.frame toView:self.view];
NSLog(@"转换6(C->self.view):%@",NSStringFromCGRect(rect6));
//3 求 cView 在 dView 中的 frame
CGRect rect11 = [self.bView convertRect:self.cView.frame toView:self.dView];
NSLog(@"转换11(C->D):%@",NSStringFromCGRect(rect11));
//4 和方法2一样,只不过写法不一样
CGRect rect12 = [self.view convertRect:self.cView.frame fromView:self.cView.superview];
NSLog(@"------%@",NSStringFromCGRect(rect12));
根据结果可以看到,方法2和4结果是一样滴
需要注意
![]()
其他方法的用法都类似