如何在NHRangeSlider中设置以前的值?

时间:2017-09-23 07:44:05

标签: ios uitableview swift3

我曾使用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
        }
    }

image is as shown here

1 个答案:

答案 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 方法,但您也不必担心不断添加图。