好的我有一个可以添加和删除单元格的表格视图。对于添加的每个单元格,它在单元格中获得两个按钮,添加和减去按钮,从单元格的textLabel中添加1和子1。但是当我按下1个单元格按钮时,它会从另一个单元格textLabel中获取。这是我的cellForRow
方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:
(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
cell.imageView.image = [imageArray objectAtIndex:indexPath.row];
cell.textLabel.text = [cells objectAtIndex:indexPath.row];
newBtn = [[UIButton alloc]init];
newBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[newBtn setFrame:CGRectMake(195,20,55,35)];
[newBtn addTarget:self action:@selector(subtractLabelText:)
forControlEvents:UIControlEventTouchUpInside];
[newBtn setTitle:@"-" forState:UIControlStateNormal];
[cell addSubview:newBtn];
return cell;
}
下一个方法是我连接到减法按钮的方法:
- (IBAction)subtractLabelText:(id)sender{
if ( [[cell.textLabel text] intValue] == 0){
[newBtn setEnabled:NO];
}
else{
cell.textLabel.text = [NSString stringWithFormat:@"%d",[cell.textLabel.text
intValue] -1];
}
}
请帮忙!!非常感谢! :d
答案 0 :(得分:2)
您应该将单元格作为subtractLabelText:
的参数传递,否则此函数不知道它访问哪个单元格。
我想到的最简单的事情是添加一行定义单元格:
- (IBAction)subtractLabelText:(id)sender{
UITableViewCell *cell = (UITableViewCell*)[sender superview]; // <-- ADD THIS LINE
if ( [[cell.textLabel text] intValue] == 0){
[newBtn setEnabled:NO];
}
else{
cell.textLabel.text = [NSString stringWithFormat:@"%d",[cell.textLabel.text
intValue] -1];
}
}