我有一个按钮应该调用 tableview 的委托方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
当该按钮被点击时。
谁能告诉我如何做到这一点。
我有一个按钮应该调用 tableview 的委托方法
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
当该按钮被点击时。
谁能告诉我如何做到这一点。
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
[self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone];
[self tableView:self.tableView didSelectRowAtIndexPath:indexPath];
对于在表格视图单元格复选框中选择整行:
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:1 inSection:0];
[self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionNone];
[self tableView:self.tableView didSelectRowAtIndexPath:indexPath];
取“i”值作为 for 循环
按钮将无法自动调用该方法,因为它没有表视图或索引路径的概念,但如果您创建自己的方法,则可以直接调用该方法
- (void)buttonAction:(id)sender
{
NSIndexPath *path = //path for row you want to select
[self tableView:self.tableView didSelectRowAtIndexPath:path];
}
[self tableView:_myTbl didSelectRowAtIndexPath:[NSIndexPath indexPathForItem:_rowNeeded inSection:_sectionNeeded];
//call method, like user selected needed cell
[_myTbl selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];
// show selected cell in UI
如果您希望当用户按下 TableViewCell 上的按钮时触发 Action what's occur when a cell is taped ,那么您可以执行以下操作。
在您的 cellForRowAtIndexPath 方法中,在您的按钮上添加一个手势识别器。像这样 ,
cell.myButton.userInteractionEnabled = YES;
cell.myButton.tag = indexPath.row ;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[tap setNumberOfTouchesRequired:1];
[tap setNumberOfTapsRequired:1];
[tap setDelegate:self];
[cell.myButton addGestureRecognizer:tap];
这是handleTap方法
- (void)handleTap:(UITapGestureRecognizer *)recognizer
{
NSLog(@"Handle Tap method");
NSLog(@"Row Index : %d" , recognizer.view.tag);
int row_index = recognizer.view.tag ;
// Perform your Action woth row_index
}
并且不要忘记添加您的头文件。希望能帮助到你。