События UIButton.Какая разница?

Я встретился с проблемой, где моя кнопка должна остаться "придавленной", в то время как она показывает легкую сдобу, названную от него. Легкая сдоба является селектором для некоторого фильтра, и фильтр показывают на самой кнопке. Когда я касаюсь на нем, и это показывает легкую сдобу, это становится невыбранным несмотря ни на что.

Я думаю, что должен переопределить, это - поведение на сенсорном событии, и заставьте его не ответить на стандарт touch up inside. Затем я задался вопросом, за что другие события ответственны? Но я не мог найти, что список событий в библиотеке iOS и в StackOverflow является только вопросами о неправильном поведении touch up inside или touch down.

Таким образом, каково различие между сенсорными событиями?

  1. сенсорная отмена - когда Вы касаетесь кнопки, но шевелите Вашим пальцем далеко и это остается невыбранным?
  2. приземлитесь - прямо на касании.
  3. приземлиться повторение??
  4. сенсорное перетаскивание входит??
  5. сенсорный выход перетаскивания??
  6. сенсорное перетаскивание внутри??
  7. сенсорное перетаскивание снаружи??
  8. исправьте внутри - когда Вы касаетесь и кнопка разблокирования, остающаяся в, он - границы. Это изменяет состояние UIButtons на Нормальный.
  9. исправьте снаружи - когда Вы касаетесь и отъезд кнопки разблокирования, это - границы?

другие IBActions не отправляются UIButton, правильно? Также, как те события изменяют появление UIBUTTON? Как highlighted или selected?

Я ценил бы ссылку на хорошую статью о IBActions, потому что я не мог найти его.

58
задан 9 July 2012 в 10:20

1 ответ

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

UIControlEventTouchDown: пользователь коснулся кнопки. Это стреляет во вступление в контакт пальца/стилуса.

UIControlEventTouchUpInside: пользователь коснулся кнопки. Это стреляет в контакт пальца/стилуса, который вытягивают, отступают от экрана.

<час>

Полезный для ползунков и перетаскивают события как перемещение компонента. Ниже в порядке возникновения:

UIControlEventTouchDragInside: Инициированный, поскольку палец перетаскивает в область кнопки.

UIControlEventTouchDragExit: Инициированный во время движения перетаскивания. Это называют только однажды, когда пользовательский палец/стилус оставляет границы кнопки.

UIControlEventTouchDragOutside: Инициированный во время движения перетаскивания, после того, как 'UIControlEventTouchDragExit', и называют непрерывно , пока исходное касание продолжается.

UIControlEventTouchUpOutside: Это - просто пошевеливший палец, НО только если палец/стилус больше не в границах кнопки. Важная вещь (и вероятно очевидно) для вызова состоит в том, что касание, должно быть, было в кнопке в какой-то момент для соединения этого события с кнопкой.

Примечание: Мое понимание - то, что вышеупомянутое может быть полезным для:

  1. Ползунки: поскольку Вы могли бы ожидать, что касание, возможно, было намеренным, но из-за действия быстрого движения, их перемещение пальца может быть неаккуратным и подняться за пределами области ползунка.
  2. Перемещающиеся компоненты, как тогда, когда Вы продвигаете вещи вокруг экрана, Вы хотите, чтобы перемещение произошло, когда палец/стилус касается границы компонента/объекта.
<час>

Другие события:

UIControlEventTouchCancel: Что-то из управления пользователя отменяет их сенсорное действие. Думайте об этом как о чем-то "идущем не так, как надо" на телефонной стороне вещей.

UIControlEventTouchDownRepeat: Хотите обнаружить, когда Ваш пользователь безумен и касается кнопки неистово? Хотите обнаружить, если они находятся все еще в режиме Windows, и попытка должны "дважды щелкнуть"? Или возможно Вы разработали кнопку, чтобы сделать что-то другое, если они касаются дважды. Это событие помогает со всеми теми!

<час>

Ссылки:

ТАК 1 : Dif между UIControlEventTouchDragOutside и UIControlEventTouchDragExit

ТАК 2 : Что такое UIControlEventTouchCancel?

2
ответ дан 1 November 2019 в 13:38

Другие вопросы по тегам:

Похожие вопросы: