В качестве общего примечания обязательно ознакомьтесь с иерархией классов, например надклассами виджетов, чтобы увидеть, какие другие методы доступны для виджетов, которые наследуют их.
Вам не обязательно создавать подкласс UISlider
, но вы можете захотеть создать его подкласс или, в зависимости от того, что вы делаете, UIControl
, если вы считаете, что повторное использование целесообразно.
UISlider
является подклассом UIControl
, который является подклассом UIView
. UIControl
является «виджетизированным» UIView
, другими словами, поскольку он предоставляет методы, в первую очередь облегчающие обнаружение пользовательского ввода и поддержку отправки событий, функции, которые обычно бывают общими для любого виджета управления пользовательским интерфейсом.
Для определения движения и положения класс UIControl
имеет методы beginTracking()
, continueTracking()
, endTracking()
, cancelTracking()
, isTracking()
, isTouchInside()
. Они доступны непосредственно из объекта UISlider
.
Аналогично, вы можете явно инициировать действия (события) с sendAction()
и sendActions()
, сделав publi c на UIControl
, таким образом, неявно доступными для UISlider
.
Если вы не нужно создавать подклассы, вы можете написать «одноразовый» (например, app-Speci c) бит кода, чтобы использовать вышеупомянутые методы непосредственно через ваш экземпляр UISlider
, отслеживая «прикосновения» к виджету и доставки событий на ключевые позиции вдоль траектории слайда или с определенными поведениями c, которые вы обнаружите.
См. Этот вопрос, "IPhone: как определить конец перетаскивания ползунка" для идей реализации.
Apple Документация UIControl имеет раздел примечаний по подклассам, объясняющий, как использовать механизм целевого действия.