Изменение поведения по умолчанию для UISlider - Нет непрерывного скольжения и кнопки Custom - PullRequest
0 голосов
/ 12 августа 2011

enter image description here

Я хочу достичь вышеупомянутого типа пользовательского интерфейса с помощью ползунка ... Но ползунок должен остановиться только на 3 позиции 1. крайнее право 2. крайний левый 3. Центр

Будет ли возможно добиться такого типа пользовательского интерфейса с помощью UISlider в iPhone ?? Как мне этого добиться ??

EDIT:

Я хочу добиться того же, что и TrackBar в VB.NET. Возможно ли это с помощью UISlider ??? или, пожалуйста, предложите мне другой элемент управления / код в iPhone, кроме SegmentedControl ...

РЕДАКТИРОВАТЬ 2

int progressAsInt =(int)(slider.value + 0.5f);
NSString *newText =[[NSString alloc] initWithFormat:@"%d",progressAsInt];
sliderLabel.text = newText;

1 Ответ

2 голосов
/ 12 августа 2011

Посмотрите документацию для UISlider. Интересующие вас методы: setMinimumTrackImage: forState: и setMaximumTrackImage: forState: для установки дорожки, setThumbImage: forState: для большого пальца слайдера

Чтобы заставить его придерживаться начала, середины или конца, ваш viewcontroller должен в методе valueChanged, связанном со слайдером, определить соответствующее значение и затем использовать setValue: animated: для перемещения ползунка в соответствующее место. Итак, если ваш слайдер переходит с 0 на 2, а пользователь меняет его на 0,75, вы предполагаете, что это должно быть 1, и устанавливаете значение слайдера на это.

Также - отключите свойство непрерывного действия, иначе вышеприведенное не будет работать.

...