Я встретился с проблемой, где моя кнопка должна остаться "придавленной", в то время как она показывает легкую сдобу, названную от него. Легкая сдоба является селектором для некоторого фильтра, и фильтр показывают на самой кнопке. Когда я касаюсь на нем, и это показывает легкую сдобу, это становится невыбранным несмотря ни на что.
Я думаю, что должен переопределить, это - поведение на сенсорном событии, и заставьте его не ответить на стандарт touch up inside
. Затем я задался вопросом, за что другие события ответственны? Но я не мог найти, что список событий в библиотеке iOS и в StackOverflow является только вопросами о неправильном поведении touch up inside
или touch down
.
Таким образом, каково различие между сенсорными событиями?
другие IBActions не отправляются UIButton, правильно? Также, как те события изменяют появление UIBUTTON? Как highlighted
или selected
?
Я ценил бы ссылку на хорошую статью о IBActions, потому что я не мог найти его.
Перечисленный в, что я рассмотрел бы, порядок общего использования / вероятность возникновения для нормальной кнопки:
UIControlEventTouchDown: пользователь коснулся кнопки. Это стреляет во вступление в контакт пальца/стилуса.
UIControlEventTouchUpInside: пользователь коснулся кнопки. Это стреляет в контакт пальца/стилуса, который вытягивают, отступают от экрана.
<час>Полезный для ползунков и перетаскивают события как перемещение компонента. Ниже в порядке возникновения:
UIControlEventTouchDragInside: Инициированный, поскольку палец перетаскивает в область кнопки.
UIControlEventTouchDragExit: Инициированный во время движения перетаскивания. Это называют только однажды, когда пользовательский палец/стилус оставляет границы кнопки.
UIControlEventTouchDragOutside: Инициированный во время движения перетаскивания, после того, как 'UIControlEventTouchDragExit', и называют непрерывно , пока исходное касание продолжается.
UIControlEventTouchUpOutside: Это - просто пошевеливший палец, НО только если палец/стилус больше не в границах кнопки. Важная вещь (и вероятно очевидно) для вызова состоит в том, что касание, должно быть, было в кнопке в какой-то момент для соединения этого события с кнопкой.
Примечание: Мое понимание - то, что вышеупомянутое может быть полезным для:
Другие события:
UIControlEventTouchCancel: Что-то из управления пользователя отменяет их сенсорное действие. Думайте об этом как о чем-то "идущем не так, как надо" на телефонной стороне вещей.
UIControlEventTouchDownRepeat: Хотите обнаружить, когда Ваш пользователь безумен и касается кнопки неистово? Хотите обнаружить, если они находятся все еще в режиме Windows, и попытка должны "дважды щелкнуть"? Или возможно Вы разработали кнопку, чтобы сделать что-то другое, если они касаются дважды. Это событие помогает со всеми теми!
<час>Ссылки:
ТАК 1 : Dif между UIControlEventTouchDragOutside и UIControlEventTouchDragExit
ТАК 2 : Что такое UIControlEventTouchCancel?