所有
可能会以不同的方式多次询问相同的问题。但我的情况有所不同。
我有桌子,我有大约10个单元格,现在每个单元格都有不同的自定义控件(即UILabel,UIButton)等。
现在我希望当我单击单元格0上的按钮时,它会在同一单元格上更改标签(自定义UILabel而不是单元格标签)值,而无需重新加载整个表格。
答案 0 :(得分:1)
是您的自定义单元格类,您将属性分配给UiButton,如此
@property(strong,nonatomic) IBOutlet UIButton *btnAdd;
以及此方法的下一步
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
你写的就像这段代码
cell.btnAdd.tag=indexPath.row;
[cell.btnAdd addTarget:self action:@selector(AddMethod:) forControlEvents:UIControlEventTouchUpInside];
并在此课程中编写此代码
-(void)AddMethod:(UIButton *)btnAdd
{
NSIndexPath *indexPath=[NSIndexPath indexPathForRow:btnAdd.tag inSection:0]; // if section is 0
customcell *cell = (customcell*)[maintableView cellForRowAtIndexPath:indexPath];
cell.yourlabelname.text=[NSString stringWithFormat:@"%d",[yourlabelname.text intValue] + 1];
}
答案 1 :(得分:0)
您可以更新UITableview的特定单元格,只需存储该行的indexPath并使用以下方法进行更新。
[self.myTablviewname beginUpdates];
[self.myTablviewname reloadRowsAtIndexPaths:[NSArray arrayWithObject:button.indexPath] withRowAnimation:UITableViewRowAnimationNone];
[self.myTablviewname endUpdates];
此外,您可以根据自己的方便将动画添加到行中。