【发布时间】:2018-01-09 19:26:12
【问题描述】:
我已经设置了一个编辑函数,并以滑块结尾,但它看起来不像被调用。我在其中添加了一个打印语句和一个断点。当我的用户放开滑块时,是否需要执行其他操作才能触发功能?
@IBAction func sliderEditingDidEnd(sender: UISlider) {
print("did end");
}
【问题讨论】:
-
显示IBAction的代码
我已经设置了一个编辑函数,并以滑块结尾,但它看起来不像被调用。我在其中添加了一个打印语句和一个断点。当我的用户放开滑块时,是否需要执行其他操作才能触发功能?
@IBAction func sliderEditingDidEnd(sender: UISlider) {
print("did end");
}
【问题讨论】:
使用“值已更改”事件。如果您只想更新最终值,请更改 UISlider.continuous
var slider = UISlider()
slider.continuous = false
//add slider to view
@IBAction func valueChanged(sender: UISlider) {
println("Value changed.")
}
//prints "Value changed." once upon releasing slider.
如果滑块需要连续,可以为 UIControlEvent.TouchUpInside 实现一个事件。
或者在代码中:
override func viewDidLoad() {
super.viewDidLoad()
mySlider.addTarget(self, action: "userReleasedSlider:", forControlEvents: UIControlEvents.TouchUpInside)
// Do any additional setup after loading the view, typically from a nib.
}
func userReleasedSlider(slider: UISlider) {
print("User released slider.")
}
【讨论】:
我认为您要做的是在值更改时收到通知。然后你必须将事件设置为“Value Changed”而不是“Editing Did End”。
【讨论】: