iOS:Swift:UISlider编辑未被调用

iOS:Swift:UISlider编辑未被调用,ios,swift,uislider,Ios,Swift,Uislider,我已经为编辑设置了一个函数,它的结尾是一个滑块,但它看起来没有被调用。我在其中抛出了一个print语句和一个断点。当我的用户松开滑块时,是否需要执行其他操作来触发函数 @IBAction func sliderEditingDidEnd(sender: UISlider) { print("did end"); } 我认为您试图做的是在值更改时获取通知。然后必须将事件设置为“值已更改”,而不是“编辑已结束”。使用事件“值已更改”。如果只想更新最终值,请更改UISlider.co

我已经为编辑设置了一个函数,它的结尾是一个滑块,但它看起来没有被调用。我在其中抛出了一个print语句和一个断点。当我的用户松开滑块时,是否需要执行其他操作来触发函数

    @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.")
}

如果将“内部触动”和“外部触动”设置为指向您的
@iAction
,则可以在用户完成滑动时启动该功能,并保持滑块连续


显示IBActionNo的代码,我想知道用户何时松开滑块,以便我可以将其重置为中间位置。我不知道用户松开滑块是什么意思?你的意思是当用户松开滑块后一段时间过去了吗???我想你必须使用计时器来完成此操作。我需要它连续,因为我使用它来控制附件,我想在用户释放组件时将其重置为滑块的中间位置。然后继续打开并为事件“内部润色”创建iAction。每次用户释放滑块时,它都会运行。@cweber105谢谢,我建议您在回答中添加“内部润色”注释-这非常有用:)