我正在尝试以编程方式设置UISlider但无法使其工作。一方面slider.addTarget()
完美无缺。当我移动滑块时,函数rotateSlider(_:)
被完美地调用。
另一方面,当我尝试以编程方式设置起始值时,它不会移动句柄。此外,如果我尝试使用slider.isHidden = true
隐藏滑块,则不会发生任何事情,也不会从视图中删除它。
var slider1: UISlider {
let frame = CGRect(x: 0, y: 0, width: 300, height: 40)
let slider1 = UISlider(frame: frame)
slider1.center = CGPoint(x: Int(self.view.frame.width) / 2, y: Int(self.view.frame.height) / 2)
slider1.minimumValue = -3
slider1.maximumValue = 3
slider1.addTarget(self, action: #selector(self.rotateSlider(_:)), for: .allTouchEvents)
return slider1
}
@objc func rotateSlider(_ sender: UISlider) {
print("rotated")
}
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(slider1)
slider1.setValue(1.0, animated: true) // This does not work
slider1.isHidden = true // This does not work
}
我知道我失踪了是一件微不足道的事情吗?!
感谢。