Ios 带有自定义控件的UITableView,在按下单元格上的特定按钮时更改UILabel的值
全部 同样的问题可能以不同的方式被问了很多次。但我的情况有些不同 我有一个大约10个单元格的表格,现在每个单元格都有不同的自定义控件(即UILabel、UIButton)等 现在我想,当我单击单元格0上的按钮时,它会更改同一单元格上的标签(自定义UILabel,而不是单元格标签)值,而无需重新加载整个表Ios 带有自定义控件的UITableView,在按下单元格上的特定按钮时更改UILabel的值,ios,uitableview,Ios,Uitableview,全部 同样的问题可能以不同的方式被问了很多次。但我的情况有些不同 我有一个大约10个单元格的表格,现在每个单元格都有不同的自定义控件(即UILabel、UIButton)等 现在我想,当我单击单元格0上的按钮时,它会更改同一单元格上的标签(自定义UILabel,而不是单元格标签)值,而无需重新加载整个表 您可以更新UITableview的特定单元格,只要您拥有该行的存储indexPath并使用以下方法进行更新即可 [self.myTablviewname beginUpdates]; [sel
您可以更新UITableview的特定单元格,只要您拥有该行的存储indexPath并使用以下方法进行更新即可
[self.myTablviewname beginUpdates];
[self.myTablviewname reloadRowsAtIndexPaths:[NSArray arrayWithObject:button.indexPath] withRowAnimation:UITableViewRowAnimationNone];
[self.myTablviewname endUpdates];
您还可以根据自己的方便为行设置动画。是您的自定义单元格类,您可以这样将属性指定给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];
}
感谢您的回答,我有这个选项,其中整行更新动画,但我不希望这样。我只需要更改特定的标签值,就像我们使用简单视图标签和按钮所做的那样。是的,您可以这样做,只需设置UITableViewRowAnimationNone。这很好,但我的UILabel值不是来自绑定UITableView的数组,所以,若并没有这些,我如何更改该单元格中任何特定标签的值。您可以根据标签所在的行为每个标签设置标签,然后根据标签访问标签。你可以只添加你的桌面视图的截图,然后它清楚的想法。