Как добавить инкрементную настройку крана в UISliderControl? - PullRequest
0 голосов
/ 11 мая 2011

В приложении для iphone я хотел бы разрешить пользователю нажимать UISliderControl, чтобы уменьшить слайдер на фиксированную величину.Как мне это сделать?

Пояснение: пользователь будет использовать ползунки для настройки целевых числовых значений с гранулярностями, которые слишком хороши для установки только UISliderControl.Так, например, значение может находиться в диапазоне от 0 до 1000, но ползунок может покрывать только 1/3 значений из-за ограничений пикселей (то есть 0, 3, 6, 9).В этом примере я хотел бы добавить жест касания к ползунку, который уменьшил бы целевое значение на 1. Так что, если гранулярность ползунка идет только до 0, 3, 6, 9 и пользователю нужно 7, он мог бы двигатьсяползунка до 9 и дважды нажмите ползунок.

Спасибо

1 Ответ

1 голос
/ 12 мая 2011

То, что вы ищете, называется UITapGestureRecognizer.В методе viewDidLoad вашего контроллера добавьте этот код:

    UITapGestureRecognizer *tap  = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapSlider:)];
    [mySliderControl addGestureRecognizer:tap];
    [tap release];

... затем добавьте метод в свой контроллер:

- (void)didTapSlider:(UITapGestureRecognizer *)tap

Метод didTapSlider: будет вызван, когда пользователь коснется UISlider, а содержимое tap (в частности locationOfTouch:inView:) сообщит вам подробности.Оттуда вы можете увеличивать или уменьшать значение ползунка по мере необходимости.

...