我想要UISlider值的代码更改那个时候也UItableview detailTextLabel值也会改变?见下图。
当我更改滑块值时动态更改Alert Range的detailTextLabel? 当我回来时,我还会存储这个UIview,它也代表了slider和detailTextLabel的旧值。
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];
}
提前致谢...
答案 0 :(得分:2)
每次滑块移动时调用[self.tableView reloadData];
。
确保您想要动态的值是属性,并由滑块设置。
如果您不想重新加载整个tableView,您还可以使用此功能重新加载单元格:
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
查看此问题以获取有关reloadRowsAtIndexPaths的更多帮助:Reload specific UITableView cell in iOS
答案 1 :(得分:0)
您应该addTarget
使用UISlider
。每次调用events
时,您都可以更改数据模型中的值,并reloadTable
显示更改后的值。