2012-05-06 2 views
1

У меня такая проблема ... Я хочу заблокировать слайдер пользователя, когда он скользит. Я думал, что .isUserInteractionEnabled будет обрабатывать это, но он работает только после того, как пользователь выпустит слайдер. Я хотел бы «украсть» ползунок у пользователя и остановить его.Как отключить пользовательский интерфейс на UISlider?

Как это сделать?

ответ

2

Вы должны добавить селектор в свой объект UISlider. Например, если у вас UISlider под названием «слайдер», вы должны сделать это:

[slider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventValueChanged]; 
//runs a method called "sliderMoved" located in the same class as the slider (hence the addTarget:self) when the value is changed of the slider 

и тогда вы могли бы сделать метод, как это, который устанавливает значение в среднем каждый раз, когда пользователь пытается сдвинуть ползунок:

-(void)sliderMoved:(UISlider*)sender{ 
    sender.value = (sender.maximumValue + sender.minimumValue)/2; 
} 
+0

Но я уже реализовал «valueChanged». Я не буду прерывать пользователя, когда что-то еще происходит. Я думал, может быть, о какой-то собственности? Не знаю ... –

+0

Вы реализовали valueChanged на этом конкретном слайдере? Пока вы не привязали другой метод к свойству ValueChanged этого конкретного UISlider, все будет в порядке. И если это на одном и том же UISlider, я, должно быть, неправильно понял ваш вопрос, потому что вы сказали, что хотите прервать пользователя при слайде. – ParticleGames

Смежные вопросы