2015-03-09 2 views
0

У меня есть UIViewController, который содержит UITableView и соответствует и UITableViewDatasource. Я проектирую свой UITableViewCell как prototype cell в Storyboard. cell имеет subviewViewA. Когда пользователь нажимает на ячейку, мне хотелось бы ViewA двигаться с жестом. У меня есть два связанных вопроса:Добавление UIPanGesture к UITableViewCell

Часть 1

Должен ли я добавить UIPanGesture к tableview или к cell?

Часть 2

Если я должен добавить его к клеткам, я должен сделать это в - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath?

Часть 3

Если я хочу, чтобы получить cell, а затем перейти ViewA, как бы я идти об этом в моей функции панорамирования? Я в настоящее время:

- (void)didPan:(UIPanGestureRecognizer *)recognizer { 

    CGPoint velocity = [recognizer velocityInView:self.view]; 
    CGPoint translation = [recognizer translationInView:self.view]; 

    if (recognizer.state == UIGestureRecognizerStateEnded) { 
     CGPoint swipeLocation = [recognizer locationInView:self.tableview]; 
     NSIndexPath *swipedIndexPath = [self.tableview indexPathForRowAtPoint:swipeLocation]; 
     UITableViewCell *cell = [self.tableview cellForRowAtIndexPath:swipedIndexPath]; 
    } else { 

    } 
} 
+0

В чем же проблема? Код, который у вас до сих пор выглядит хорошо, вам просто нужно заменить «UITableViewCell * cell» на пользовательский класс, обладающий свойством «viewA». –

+0

И да, я бы выбрал 1 распознаватель панорамы на табличном представлении вместо 1 для каждой ячейки. –

ответ