2012-06-25 101 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

相關問題