我曾使用NHRangeSlider来设置放在表格视图中的应用程序中的价格范围,其中在设置最小和最大范围后,当我移动到另一个视图控制器时,我收到错误,并且最后设置的值和正常值已设置在滑块如何清除此错误?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0{
let cell = tableView.dequeueReusableCell(withIdentifier: "sliderCell", for: indexPath) as! SliderCell
tableView.isHidden = false
activityIndicator.stopAnimating()
activityIndicator.hidesWhenStopped = true
let sliderView = NHRangeSliderView(frame: CGRect(x: 16, y: 28, width: self.view.bounds.width - 32, height: 80))
sliderView.sizeToFit()
cell.contentView.addSubview(sliderView)
return cell
}
else{
let cell = tableView.dequeueReusableCell(withIdentifier: "brandCell", for: indexPath) as! BrandCell
if selected == true{
let value = values.count
if (value == 1) {
cell.brandsLabel.text = values[indexPath.row]
}
else if (value == 0) {
let string = "no brand selected"
cell.brandsLabel.text = string
}
else {
let total = " &"+" \(value-1) more"
print(total)
cell.brandsLabel.text = "\(values[0])" + total
}
}
return cell
}
}
答案 0 :(得分:0)
看起来您总是向您的单元格添加2sec
的新实例:
public static void main(String[] args) throws Exception{
Robot r = new Robot();
Thread.sleep(2000); // <---- switch window
for (int n = 0; n < 20; n++) {
// ...
}
}
假设你正在重新加载其他地方的cell / tableview,你会发现这段代码总是在你的单元格的内容视图中添加一个全新的滑块视图,因为它正在重用已经有一个实例的单元格的单元格。其中NHRangeSliderView
。
在这种情况下,我建议创建一个已经附加了滑块视图的自定义表格视图单元格,这样您将使用稍微简单的let cell = tableView.dequeueReusableCell(withIdentifier: "sliderCell", for: indexPath) as! SliderCell
tableView.isHidden = false
activityIndicator.stopAnimating()
activityIndicator.hidesWhenStopped = true
let sliderView = NHRangeSliderView(frame: CGRect(x: 16, y: 28, width: self.view.bounds.width - 32, height: 80))
sliderView.sizeToFit()
cell.contentView.addSubview(sliderView)
return cell
方法,但您也不必担心不断添加图。