2012-06-25 61 views
2

我正在使用下面的代码来知道滑块现在是否滑动。
但是,有没有一种财产或方法更容易知道?iPhone:如何知道UISlider是否滑动?

[slider addTarget:self action:@selector(touchUp) forControlEvents:UIControlEventTouchUpInside]; 
[slider addTarget:self action:@selector(touchUp) forControlEvents:UIControlEventTouchUpOutside]; 
[slider addTarget:self action:@selector(touchUp) forControlEvents:UIControlEventTouchCancel];    
[slider addTarget:self action:@selector(touchDown) forControlEvents:UIControlEventTouchDown]; 

- (void)touchDown { 
    self.sliding = YES; 
} 

-(void)touchUp { 
    self.sliding = NO; 
} 
+1

如果你想知道滑块的值是否改变(滑动或不滑动),你可以听UIControlEventValueChanged - 这是我在SO上找到的一个例子http://stackoverflow.com/questions/4093143/what -gets-called-when-a-uislider-value-changes – ewiinnnnn

+0

谢谢。但我知道那件事。我为音量使用滑块。而且我还使用音量更改通知。 我想在滑动音量滑块时忽略通知。 –

回答

3
- (void)touchDown { self.sliding = YES; } 
- (void)touchUp { self.sliding = NO; } 

使用布尔确实追踪滑块用户交互的常见方式。

但是,有没有一种属性或方法更容易知道?

不,我没有意识到。

5

有一个属性,你可以使用。

slider.highlighted 

此属性将有价值是当你持有它。

+0

正确。 'UISlider'是UIControl的一个子类,就像UIButton一样。很有意思 – VietHung

相关问题