iphone – 如何在UITapGestureRecognizer中传递@selector中的参
发布时间:2020-12-14 19:55:33 所属栏目:百科 来源:网络整理
导读:我在我的表头视图部分中有这个: UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(sectionHeaderTapped:)]; 我想传递方法sectionHeaderTapped中的节号,这样我就可以识别哪个节被轻拍了. 我的方
我在我的表头视图部分中有这个:
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(sectionHeaderTapped:)]; 我想传递方法sectionHeaderTapped中的节号,这样我就可以识别哪个节被轻拍了. 我的方法实现如下所示: -(void)sectionHeaderTapped:(NSInteger)sectionValue { NSLog(@"the section header is tapped "); } 我怎样才能做到这一点? 解决方法
方法sectionHeaderTapped应具有以下签名之一:
- (void)sectionHeaderTapped:(UITapGestureRecognizer *)sender; - (void)sectionHeaderTapped; 你必须弄清楚使用水龙头坐标点击的单元格. -(void)sectionHeaderTapped:(UITapGestureRecognizer *)gestureRecognizer { CGPoint tapLocation = [gestureRecognizer locationInView:self.tableView]; NSIndexPath *tapIndexPath = [self.tableView indexPathForRowAtPoint:tapLocation]; UITableViewCell* tappedCell = [self.tableView cellForRowAtIndexPath:tapIndexPath]; } 您可以使用该方法获取节标题.但是将不同的手势识别器附加到每个部分标题可能更容易. - (UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section { // ... UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(sectionHeaderTapped:)]; [headerView addGestureRecognizer:tapGesture]; return headerView; } 然后 -(void)sectionHeaderTapped:(UITapGestureRecognizer *)gestureRecognizer { UIView *headerView = gestureRecognizer.view; // ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |