Перетаскивание кнопки из UITableView - PullRequest
0 голосов
/ 24 мая 2011

У меня есть TableView, составленный из пользовательской ячейки. Эта ячейка содержит метку и кнопку. Теперь к кнопке в ячейке добавлен panGestureRecognizer . Моя проблема в том, что когда я пытаюсь начать перемещение / перетаскивание кнопки, кнопка перемещается правильно, но, к сожалению, кнопка скрывается за TableView. Как я могу сделать это, чтобы прийти перед этим. Пользовательская ячейка создается программно, как и TableView. Мой метод обработки жестов следующий:


-(void)panPiece:(UIPanGestureRecognizer *)gestureRecognizer withEvent:(id) event {</p> <pre><code>UIView *piece = [gestureRecognizer view]; [self adjustAnchorPointForGestureRecognizer:gestureRecognizer]; //*******************Dragging Ended************************************* if([gestureRecognizer state]==UIGestureRecognizerStateEnded) { [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES]; } //*******************Dragging Started andchanged************************************* if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] ==UIGestureRecognizerStateChanged) { CGPoint translation = [gestureRecognizer translationInView:[piece superview]]; [piece setCenter:CGPointMake([piece center].x + translation.x, [piece center].y + translation.y)]; [gestureRecognizer setTranslation:CGPointZero inView:[piece superview]]; CGPoint moveLocation=[gestureRecognizer locationInView:piece]; NSIndexPath *indexPath=[tableView indexPathForRowAtPoint:moveLocation];

}

- (void) AdjustAnchorPointForGestureRecognizer: (UIGestureRecognizer *) жестRecognizer { if (gestRecognizer.state == UIGestureRecognizerStateBegan || (gestRecognizer.state == UIGestureRecognizerStateChanged)) { UIView * piece = gestRecognizer.view; CGPoint locationInView = [жестRecognizer locationInView: кусок]; CGPoint locationInSuperview = [жестRecognizer locationInView: piece.superview]; piece.layer.anchorPoint = CGPointMake (locationInView.x / piece.bounds.size.width, locationInView.y / piece.bounds.size.height); piece.center = locationInSuperview; } }
Код был смоделирован на основе кода Apple здесь

1 Ответ

0 голосов
/ 24 мая 2011
...