天天看点

iOS开发笔记--UIView中的坐标转换

iOS开发笔记--UIView中的坐标转换

// 将像素point由point所在视图转换到目标视图view中,返回在目标视图view中的像素值  

- (cgpoint)convertpoint:(cgpoint)point toview:(uiview *)view;  

// 将像素point从view中转换到当前视图中,返回在当前视图中的像素值  

- (cgpoint)convertpoint:(cgpoint)point fromview:(uiview *)view;  

// 将rect由rect所在视图转换到目标视图view中,返回在目标视图view中的rect  

- (cgrect)convertrect:(cgrect)rect toview:(uiview *)view;  

// 将rect从view中转换到当前视图中,返回在当前视图中的rect  

- (cgrect)convertrect:(cgrect)rect fromview:(uiview *)view;  

例把uitableviewcell中的subview(btn)的frame转换到 controllera中

iOS开发笔记--UIView中的坐标转换

// controllera 中有一个uitableview, uitableview里有多行uitableviecell,cell上放有一个button  

// 在controllera中实现:  

cgrect rc = [cell convertrect:cell.btn.frame toview:self.view];  

或  

cgrect rc = [self.view convertrect:cell.btn.frame fromview:cell];  

// 此rc为btn在controllera中的rect  

或当已知btn时:  

cgrect rc = [btn.superview convertrect:btn.frame toview:self.view];  

cgrect rc = [self.view convertrect:btn.frame fromview:btn.superview];