IOS-- UIView中的坐标转换

来源:互联网 发布:天下3用数据流量玩 编辑:程序博客网 时间:2024/06/05 21:00

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

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view;

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

- (CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view;


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

- (CGRect)convertRect:(CGRect)rect toView:(UIView *)view;

// rectview中转换到当前视图中,返回在当前视图中的rect

- (CGRect)convertRect:(CGRect)rect fromView:(UIView *)view;


UITableViewCell中的subview(btn)frame转换 controllerA

// 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];

// rcbtncontrollerA中的rect


或当已知btn时:

CGRect rc = [btn.superview convertRect:btn.frame toView:self.view];

CGRect rc = [self.view convertRect:btn.frame fromView:btn.superview];




例:  注意bouns 和  fream的区别:

//计算self.yellowself.blue中的位置和尺寸

CGRect newRect = [self.yellow convertRect:self.yellow.bounds toView:self.blue];

 //计算self.yellowself.purple中的位置和尺寸

CGRect newRect = [self.yellow.superview convertRect:self.yellow.frame toView:self.purple];

//计算self.redself.yellow中的位置和尺寸

CGRect newRect = [self.red convertRect:self.red.bounds toView:self.yellow];

//计算self.redself.yellow中的位置和尺寸

CGRect newRect = [self.yellow convertRect:self.red.bounds fromView:self.red];






0 0
原创粉丝点击