Ios 如何动态编码UITableview detailtextLabel值?
我想把UISlider值的代码改了,那个时候UItableview detailTextLabel值也改了吗?见下图 当我动态更改滑块值时,是否更改警报范围的detailTextLabel? 当我带着这个UIview回来时,也存储它,它也表示slider和detailTextLabel的旧值Ios 如何动态编码UITableview detailtextLabel值?,ios,uitableview,uislider,Ios,Uitableview,Uislider,我想把UISlider值的代码改了,那个时候UItableview detailTextLabel值也改了吗?见下图 当我动态更改滑块值时,是否更改警报范围的detailTextLabel? 当我带着这个UIview回来时,也存储它,它也表示slider和detailTextLabel的旧值 UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(45, 45, 290,20)]; if(indexPath.row =
UISlider *slider = [[UISlider alloc]initWithFrame:CGRectMake(45, 45, 290,20)];
if(indexPath.row == 0)
{
NSString *sliderValue =[NSString stringWithFormat:@"%d KM",(int)[_defaults floatForKey:@"Slider"]];
cell.detailTextLabel.text = sliderValue;
}
if(indexPath.row == 1)
{
slider.minimumValue = 5;
slider.maximumValue = 20;
slider.value =(int)[_defaults floatForKey:@"Slider"];
cell.accessoryView = slider;
}
[slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
}
cell.textLabel.backgroundColor = [UIColor clearColor];
//[_table reloadData];
return cell; }
-(void)sliderValueChanged:(id)sender
{
UISlider *slider = sender;
[_defaults setFloat:slider.value forKey:@"Slider"];
//[_table reloadData];
}
提前感谢…致电
[self.tableView reloadData]代码>每次滑块移动时。
确保要动态的值是一个属性,并由滑块设置
如果不想重新加载整个tableView,也可以使用以下函数重新加载单元格:
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
查看此问题以获取有关重新加载RowsatindExpaths的更多帮助:您应该使用addTarget
作为您的UISlider
。每次调用事件
时,您都可以更改数据模型内的值,并重新加载表
以显示更改后的值
您希望在移动滑块时更改范围值,并在用户返回此屏幕时保存该值吗?是的@CW0007007来吧,你自己想想,这是不是一个好决定?很抱歉这么严厉,但我认为这不是解决当前问题的好方法。只需重新加载一个单元格,而不是整个表视图。不重新加载表,这个问题的解决方案是什么@谢谢你,伙计@johnriselvato选择的解决方案很好,现在您不必重新加载整个UITableView
。不错的选择。向上投票。