Вероятно, нет способа скрыть трек; «слайд для разблокировки» не ведет себя как UISlider и, вероятно, является настраиваемым элементом управления. Вы можете взломать ползунок, возможно, установив низкую непрозрачность (0 сделает его скрытым, и он не будет принимать касания), но если вы пойдете по этому пути, у вас, вероятно, что-то сломается после обновление ОС. Apple не из кожи вон лезет ради совместимости, как это делает Microsoft.
Правильный способ сделать это с помощью пользовательского элемента управления. Это может показаться более трудоемким, чем использование UISlider, но это не так, если вы сравните его со всем временем, которое вы потратили и/или потратите на взлом UISlider.
Для этого: подкласс UIControl. Напишите свой собственный код для рисования, чтобы он выглядел правильно (вы, вероятно, можете повторно использовать кое-что из того, что делаете сейчас). Затем зарегистрируйте события касания, чтобы переместить ручку ползунка:
- UIControlEventTouchDown: если он находится на дескрипторе, установите «движущийся» флаг
- UIControlEventTouchDragInside: если установлен флаг перемещения, переместите ручку в положение касания; вы можете просто обновить переменную экземпляра, вызвать setNeedsDisplay, чтобы нарисовать ее в новой позиции.
- UIControlEventTouchUpInside: если установлен флаг перемещения и дескриптор находится в конце, разблокировать
Если вы хотите имитировать настоящую ручку разблокировки, поэкспериментируйте с ней и посмотрите, как она себя ведет. Возможно, вам придется реагировать на события по-другому (что произойдет, если вы перетащите за пределы пути ползунка). Но вы должны быть в состоянии получить суть этого.
person
benzado
schedule
11.11.2010