Я использую UIPanGestureRecognizer
, чтобы мой UITableView
можно было перетаскивать. В настоящее время я установил его так, что UITableView
нельзя перетащить за 0
или половину его ширины. Но теперь его кадр устанавливается на 0, когда я пытаюсь перетащить UITableView
обратно в 0 из исходной точки больше 0. Как я могу предотвратить это и разрешить перетаскивание UITableView
обратно в 0? Я пробовал следующее, но я не могу понять, почему это вызвано изложенным кодом.
- (void) handlePan:(UIPanGestureRecognizer *) pan {
CGPoint point = [pan translationInView:_tableView];
CGRect frame = [_tableView frame];
if (point.x <= _tableView.frame.size.width / 2) {
frame.origin.x = point.x;
}
NSLog(@"%f : %f", frame.origin.x, _tableView.frame.origin.x);
//outline begin!
if (frame.origin.x < 0 && _tableView.frame.origin.x >= 0) {
frame.origin.x = 0;
}
//outline end!
isFilterViewShowing = frame.origin.x > 0;
[_tableView setFrame:frame];
}
pan
вернет перевод CGPoint в систему координат superView. 05.12.2011