UIView *sourceView = self.sourceImagesContainerView.subviews[self.currentImageIndex];
UIView *parentView = [self getParsentView:sourceView];
CGRect rect = [sourceView.superview convertRect:sourceView.frame toView:parentView];
NSLog(@"%@",NSStringFromCGRect(rect));
在tableView中用于获取imageView到另一个视图的位置,但是当我滑动tableView时,rect是错误的。
我不知道如何处理这件事。
答案 0 :(得分:0)
除非您准备减去contentOffset,否则不能将tableView用作此转换的父级。
UIView *sourceView = self.sourceImagesContainerView.subviews[self.currentImageIndex];
UITableView *parentView = self.tableView;
CGRect rect = [sourceView.superview convertRect:sourceView.frame toView:parentView];
rect = CGRectOffset(rect, 0-parentView.contentOffset.x, 0-parentView.contentOffset.y);
NSLog(@"%@",NSStringFromCGRect(rect));
最好使用不滚动的父级:
UIView *sourceView = self.sourceImagesContainerView.subviews[self.currentImageIndex];
UIView *parentView = self.navigationController.view;
CGRect rect = [sourceView.superview convertRect:sourceView.frame toView:parentView];
NSLog(@"%@",NSStringFromCGRect(rect));