【发布时间】:2011-05-02 09:32:59
【问题描述】:
我想在滑动 UISlider 结束时触发一种方法。我在 xib 中使用了 UISlider 的“editingDidEnd”事件并将其附加到 IBAction 方法,但该方法没有被调用。谁能帮我知道UISlider 什么时候结束滑动?
【问题讨论】:
我想在滑动 UISlider 结束时触发一种方法。我在 xib 中使用了 UISlider 的“editingDidEnd”事件并将其附加到 IBAction 方法,但该方法没有被调用。谁能帮我知道UISlider 什么时候结束滑动?
【问题讨论】:
您可以附加到“UIControlEventValueChanged”滑块事件,并在事件处理程序中使用以下代码:
[slider addTarget:self action:@selector(handleValueChanged:event:) forControlEvents:UIControlEventValueChanged];
- (void)handleValueChanged:(id)sender event:(id)event {
UITouch *touchEvent = [[event allTouches] anyObject]; // there's only one touch
if (touchEvent.phase == UITouchPhaseEnded) { /* place your code here */ }}
【讨论】:
UISlider 继承自 UIControl,因此您应该能够在“UIControlEventTouchUpInside”上添加和操作
尝试类似:
[slider addTarget:self action:@selector(sliderTouchUpInsideAction:) forControlEvents:UIControlEventTouchUpInside];
希望这会有所帮助, 文森特
【讨论】: