我有一个 UIImageView,我能够成功地移动到 UITableView 之上。两个视图(即 UIImageView 和 UITableView)都是 viewController 的父视图的子视图。我使用 UIPanGestureRecognizer 对象移动的 UIImageView,然后调用方法 panGestureDetected。我的 panGestureDetected 方法如下所示:
- (void)panGestureDetected:(UIPanGestureRecognizer *)recognizer {
_startLocation = [recognizer locationInView:_imageView];
NSLog(@"The point is: %d", _startLocation);
int selectedRow = [_table indexPathForSelectedRow].row;
NSLog(@"The current row is: %d", selectedRow);
CGPoint newCenter = _imageView.center;
newCenter.y = [recognizer locationInView:[_imageView superview]].y;
_imageView.center = newCenter;
}
用户可以在 UITableView 的顶部上下拖动 UIImageView。但是,我想做的是让 UIImageView 与 UIImageView 覆盖或最接近的任何 UITableViewCell/行“链接”或“连接”。如果 UIImageView 位于两行之间,则 UIImageView 应自行移动到最接近的行。这是我正在谈论的图像:
在这张图片中,UIImageView 比第 2 行更靠近第 1 行,因此在用户移开手指后,UIImageView 会简单地向上移动一点,并覆盖第 1 行,使第 1 行成为“活动行”可以这么说。
目前,我的 UIImageView 和我的 UITableView 的移动是完全独立的,但是当涉及到用户拖动 UIImageView 的这种移动时,我希望有一个连接。谁能告诉我如何做到这一点?