Я хотел бы сделать мой UISlider интерактивным - чтобы изменить значение при щелчке на «пустое место», например Он установлен на ноль, я нажимаю на середину ползунка, и он "перескакивает" на середину. Есть ли способ как это сделать?
Кликабельный UISlider
Ответы (2)
Я хочу предложить что-то похожее на jrtc27, но без подкласса: добавьте _ 1_ к ползунку.
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
}
person
vikingosegundo
schedule
20.04.2012
И как я получу значение от места, на которое я нажал?
- person Michal; 20.04.2012
позвольте угадаю: вы же не любите искать документацию, верно? Но подсказка: _ 1_ должно помочь вам. и есть масса примеров кодов для распознавателя жестов на SO и в Интернете.
- person vikingosegundo; 20.04.2012
Нет, я новичок в какао, я вырос на языках, связанных с Java, поэтому я привык к таким методам, как get-, set-, is-, on- и т. Д., Которые не так часто используются в Objective-C. Сейчас это locationInView, что действительно кажется логичным, но я бы искал что-то вроде ... getLocationInView. Я привыкну, щас учусь :)
- person Michal; 20.04.2012
+1: Ответ лучше, чем мой, хотя мой поддерживает iOS 3 (и 2 ...) :)
- person jrtc27; 22.04.2012
На самом деле это не работает для меня, поскольку, похоже, он обнаруживает только щелчки на большом пальце, а не на какой-либо части ползунка.
- person marcgg; 07.10.2012
Подклассифицируйте его, а затем измените метод -touchesBegan. Если касание находится достаточно далеко, вызовите -setValue :, иначе вызовите супер-реализацию (если вы хотите, чтобы она всегда прыгала, вы всегда можете просто вызвать -setValue :).
person
jrtc27
schedule
20.04.2012
Вау, кажется сложным для одной функции. Из-за нехватки времени, думаю, мне придется отказаться от этого ... Тем не менее, спасибо.
- person Michal; 20.04.2012