我有一个填充列表的文本项列表。它的代码如下所示:
// CREATING EACH CELL IN THE LIST
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"business";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if(!cell){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
cell.textLabel.font = [UIFont fontWithName:@"Helvetica" size:17];
cell.textLabel.numberOfLines = 0;
cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
}
cell.textLabel.text = [cellTitleArray objectAtIndex:indexPath.row];
// CLOSE THE SPINNER
[spinner stopAnimating];
// return the cell for the table view
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
UIFont *cellFont = [UIFont fontWithName:@"Helvetica" size:17];
CGSize constraintSize = CGSizeMake(self.itemList.frame.size.width, MAXFLOAT);
CGSize labelSize = [[cellTitleArray objectAtIndex:indexPath.row] sizeWithFont:cellFont constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];
return labelSize.height + 30;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}
我想要做的是让这个人可以选择编辑每个项目。这样做的一种方法是将其设为2列列表,并在右侧列中创建类似“>”的字符所以他们可以点击它,它会给他们一个编辑项目的选项。
在这种情况下如何做到这一点?
谢谢!
答案 0 :(得分:2)
要捕获行,请单击:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Use indexPath.row to find your selection
...
}
如果您想要仅按一下按钮或类似按钮:
[self.buttono addTarget:self action:@selector(doAction) forControlEvents:UIControlEventTouchUpInside];
如果您想使用accessoryType
,请将此代码放在cellForRowAtIndexPath
方法中。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// Pick an indicator to suit your need/look
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
然后你就点击这样的东西
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
// Perform action for this click on row indexPath.row
}
如果indexPath.row
不足以区分您的点击次数(我无法理解为什么会出现这种情况!),那么您可以随时在公开按钮上使用setTag
。
答案 1 :(得分:1)
[self.tableView indexPathForSelectedRow];
也
[self.tableView indexPathForCell:sender]; //if you have a sender