如何使用选择器视图中的新值添加uilabel值

时间:2015-12-22 09:41:46

标签: ios

我有UITableViewCell并在其上添加UILabel。我在UILabel的{​​{1}}上显示了该值。我正在使用此代码执行此任务:

UIPickerView

但是当我执行它时,其他(void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component { NSLog(@"row selected:%ld", (long)row); value = _countingarray[row]; value = [NSString stringWithFormat:@"%d",[value intValue] + [_countingarray[row] intValue]]; [self.mytableview reloadData]; [self hidePickerView]; } 的{​​{1}}值也会增加。

您能否帮助我根据所选的单元格单独更新UILabel值。这是我所有功能的完整代码。

UITablViewCell

这是tableview单元格代码,我想要更新值,下面的代码是选择器视图。

uilabel

2 个答案:

答案 0 :(得分:1)

在didSelectRow上取一个数组并将选定的值添加到其中。

- (void)viewDidLoad {
     [super viewDidLoad];
      NSMutableArray *arr1=[[NSMutableArray alloc]init];
      int index=-1;
}

- (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component
 {
    value = _countingarray[row];
    index=index+1;
    [arr1 insertObject:value atIndex:index ];
    NSString *str = [arr1 valueForKeyPath:@"@sum.intValue"];//you will get the sum of all array objects 
    [self.mytableview reloadData];
    [self hidePickerView];

}

并将此str值显示在tableview中。

答案 1 :(得分:0)

在PickerView中,DidSelect行方法只需重新加载您想要的单元格,而不是重新加载表格。

使用此方法重新加载

- (void)reloadRowsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation NS_AVAILABLE_IOS(3_0);

并获取一个数组包含要在每个标签中为单元格设置的值。还要在pickerDidSelect之后更新该数组。

希望这能解决您的问题。