2

UISliderをクリック可能にしたいのですが、クリック時の値を「空白スペース」に変更します。たとえば、ゼロに設定すると、スライダーの中央をクリックすると、中央に「ジャンプ」します。これを行う方法はありますか?

4

2 に答える 2

3

jrtc27に似たものを提案したいのですが、サブクラス化せずUI(Tap)GestureRecognizerに、スライダーにaを追加します。

UISlider *slider = [[[UISlider alloc] init] autorelease];
//configure slider
UITapGestureRecognizer *tapGestureRecognizer = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(sliderTapped:)] autorelease];
[slider addGestureRecognizer:tapGestureRecognizer];


- (void)sliderTapped:(UIGestureRecognizer *)gestureRecognizer {
    UISlider *slider = (UISlider *) gestureRecognizer.view;
    //setValue 
}
于 2012-04-20T16:12:11.197 に答える
0

サブクラス化してから、-touchesBeganメソッドを変更します。タッチが十分に離れている場合は、-setValue:を呼び出します。それ以外の場合は、スーパー実装を呼び出します(常にジャンプさせたい場合は、いつでも-setValue:を呼び出すことができます)。

于 2012-04-20T16:10:13.520 に答える