我创建了一个动态的tableview单元,其中包含一个滑块和一个标签。
我正在尝试在标签上显示滑块的当前值,但是我不想通过重新加载表格来做到这一点。
以下是我的代码:

class SlideControl:UITableViewCell{
    @IBOutlet weak var slide_1:UISlide!
    @IBOutlet weak var label_1:UILabel!
}

cell.slide_1.addTarget(nil,action:#selector(valueChanging(sender:)),for:.ValueChanged);

@objc func valueChanging(sender:UISlide){
    //???
}


我试图通过使用addTarget实现此功能,但是除了重新加载tableview外,我不知道该怎么做。
还有其他好方法吗?

最佳答案

您可以在SlideControl类中添加目标,并在valueChanging方法中更改标签文本

class SlideControl:UITableViewCell{
    @IBOutlet weak var slide_1:UISlider!
    @IBOutlet weak var label_1:UILabel!
    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        commonInit()
    }
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        commonInit()
    }
    func commonInit() {
        slide_1.addTarget(nil,action:#selector(valueChanging(sender:)),for:.valueChanged)
    }
    @objc func valueChanging(sender:UISlider){
        label_1.text = "\(sender.value)"
    }
}

07-26 05:19