Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка класса UIGestureRecognizer

Опции
Развертывание Target:

На этой странице
Язык:

UIGestureRecognizer

Соответствует


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 3.2 и позже.

UIGestureRecognizer абстрактный базовый класс для конкретных классов устройства распознавания жеста. Объект устройства распознавания жеста — или, просто, устройство распознавания жеста — разъединяет логику для распознавания жеста и действия на то распознавание. Когда один из этих объектов распознает общий жест или, в некоторых случаях, изменение в жесте, он отправляет сообщение действия в каждый определяемый целевой объект.

Конкретные подклассы UIGestureRecognizer следующее:

UIGestureRecognizer класс определяет ряд общих способов поведения, которые могут быть сконфигурированы для всех конкретных устройств распознавания жеста. Это может также связаться с его делегатом (объект, принимающий UIGestureRecognizerDelegate протокол), таким образом включая настройку с более прекрасными зернами некоторых способов поведения.

Устройство распознавания жеста воздействует на касания, протестированные на хит к определенному представлению и всем подпредставлениям того представления. Это таким образом должно быть связано с тем представлением. Для создания той ассоциации, необходимо вызвать UIView метод addGestureRecognizer:. Устройство распознавания жеста не участвует в цепочке респондента представления.

Устройство распознавания жеста имеет одну или более пар целевого действия, связанных с ним. Если существуют многократные пары целевого действия, они дискретны, и не кумулятивны. Распознавание жеста приводит к отгрузке сообщения действия к цели для каждой из связанных пар. Вызванные методы действия должны соответствовать одной из следующих подписей:

Swift

  • func handleGesture() { }
  • func handleGesture(gestureRecognizer: UIGestureRecognizer) { }

Objective C

  • - (void)handleGesture;
  • - (void)handleGesture:(UIGestureRecognizer *)gestureRecognizer;

Методы, соответствующие последней подписи, разрешают цели в некоторых случаях запрашивать устройство распознавания жеста, отправляющее сообщение для получения дополнительной информации. Например, цель могла спросить a UIRotationGestureRecognizer объект для угла вращения (в радианах) начиная с последнего вызова метода действия для этого жеста. Клиенты устройств распознавания жеста могут также попросить расположение жеста путем вызова locationInView: или locationOfTouch:inView:.

Жест, интерпретируемый устройством распознавания жеста, может быть или дискретным или непрерывным. Дискретный жест, такой как двойное касание, происходит, но один раз в мультисенсорной последовательности и приводит к единственному отправленному действию. Однако, когда устройство распознавания жеста интерпретирует непрерывный жест, такой как жест вращения, оно отправляет сообщение действия за каждым инкрементным изменением, пока не завершает мультисенсорная последовательность.

Окно поставляет сенсорные события устройству распознавания жеста, прежде чем оно поставит им протестированному на хит представлению, присоединенному к устройству распознавания жеста. Обычно, если устройство распознавания жеста анализирует поток касаний в мультисенсорной последовательности и не распознает ее жест, представление получает полное дополнение касаний. Если устройство распознавания жеста распознает свой жест, остающиеся касания для представления отменяются. Обычная последовательность действий в распознавании жеста следует за путем, определенным значениями по умолчанию cancelsTouchesInView, delaysTouchesBegan, delaysTouchesEnded свойства:

  • cancelsTouchesInView— Если устройство распознавания жеста распознает свой жест, оно развязывает остающиеся касания того жеста от их представления (таким образом, окно не поставит им). Окно отменяет ранее поставленные касания с (touchesCancelled:withEvent:) сообщение. Если устройство распознавания жеста не распознает свой жест, представление получает все касания в мультисенсорной последовательности.

  • delaysTouchesBegan— Пока устройство распознавания жеста, при анализе сенсорных событий, не привело распознавание к сбою своего жеста, окно удерживает поставку сенсорных объектов в UITouchPhaseBegan фаза к присоединенному представлению. Если устройство распознавания жеста впоследствии распознает свой жест, представление не получает эти сенсорные объекты. Если устройство распознавания жеста не распознает свой жест, окно поставляет эти объекты в вызове представления touchesBegan:withEvent: метод (и возможно последующая обработка и анализ touchesMoved:withEvent: вызов для информирования его о касаниях текущее расположение).

  • delaysTouchesEnded— Пока устройство распознавания жеста, при анализе сенсорных событий, не привело распознавание к сбою своего жеста, окно удерживает поставку сенсорных объектов в UITouchPhaseEnded фаза к присоединенному представлению. Если устройство распознавания жеста впоследствии распознает свой жест, касания отменяются (в a touchesCancelled:withEvent: сообщение). Если устройство распознавания жеста не распознает свой жест, окно поставляет эти объекты в вызове представления touchesEnded:withEvent: метод.

Обратите внимание на то, что "распознайте” в вышеупомянутых описаниях, не обязательно приравнивается к переходу к Распознанному состоянию.

Разделение на подклассы примечаний

Можно создать подкласс UIGestureRecognizer это распознает отличительный жест — например, жест «галочки». Если Вы собираетесь создать такое конкретное устройство распознавания жеста, несомненно, импортируют UIGestureRecognizerSubclass.h заголовочный файл. Этот заголовочный файл объявляет все методы и свойства, которые подкласс должен или переопределить, вызвать или сбросить.

Устройства распознавания жеста работают в предопределенном конечном автомате, переходя к последующим состояниям, поскольку они обрабатывают мультисенсорные события. Состояния и их возможные переходы отличаются для непрерывных и дискретных жестов. Все устройства распознавания жеста начинают мультисенсорную последовательность в Возможном состоянии (UIGestureRecognizerStatePossible). Дискретный переход жестов от Возможного до любого Признанного (UIGestureRecognizerStateRecognized) или Неработающий (UIGestureRecognizerStateFailed) в зависимости от того, интерпретируют ли они успешно жест или нет. Если переходы устройства распознавания жеста к Распознанному, это отправляет свое сообщение действия в его цель.

Для непрерывных жестов изменения состояния, которые могло бы сделать устройство распознавания жеста, являются более многочисленными, как обозначено в следующей схеме:

  • Возможный----> Начал----> [Измененный]----> Отмененный

  • Возможный----> Начал----> [Измененный]----> Законченный

Измененное состояние является дополнительным и может произойти многократно, прежде чем Отмененное или Законченное состояние достигнуто. Устройство распознавания жеста отправляет сообщения действия в каждом изменении состояния. Таким образом для непрерывного жеста, такого как повышение, сообщения действия отправляются, когда эти два пальца перемещаются к или далеко друг от друга. enum константы, представляющие эти состояния, имеют тип UIGestureRecognizerState. (Обратите внимание на то, что константы для Распознанных и Законченных состояний синонимичны.)

Подклассы должны установить state свойство к надлежащему значению, когда они переходят между состояниями.

Методы для переопределения

Методы, которые должны переопределить подклассы, описаны в Методах Для Подклассов. Подклассы должны также периодически сбрасывать state свойство (как описано выше) и может вызвать ignoreTouch:forEvent: метод.

Специальные замечания

state свойство объявляется в UIGestureRecognizer.h как являющийся только для чтения. Это объявление свойства предназначается для клиентов устройств распознавания жеста. Подклассы UIGestureRecognizer должен импортировать UIGestureRecognizerSubclass.h. Этот заголовочный файл содержит redeclaration state это делает его чтением-записью.

  • Инициализирует выделенный объект устройства распознавания жеста с целью и селектором действия.

    Объявление

    Swift

    init(target target: AnyObject, action action: Selector)

    Objective C

    - (instancetype)initWithTarget:(id)target action:(SEL)action

    Параметры

    target

    Объект, который является получателем сообщений действия, отправленных получателем, когда это распознает жест. nil не допустимое значение.

    action

    Селектор, идентифицирующий метод, реализованный к установленному сроку для обработки жеста, распознанного получателем. Селектор действия должен соответствовать подписи, описанной в обзоре класса. NULL не допустимое значение.

    Возвращаемое значение

    Инициализированный экземпляр бетона UIGestureRecognizer подкласс или nil если ошибка произошла в попытке инициализировать объект.

    Обсуждение

    Этот метод является определяемым инициализатором. После создания устройства распознавания жеста можно связать других пар целевого действия с ним путем вызова addTarget:action:.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • Добавляют цель и действие к объекту устройства распознавания жеста.

    Объявление

    Swift

    func addTarget(_ target: AnyObject, action action: Selector)

    Objective C

    - (void)addTarget:(id)target action:(SEL)action

    Параметры

    target

    Объект, который является получателем сообщений действия, отправленных получателем, когда происходит представленный жест. nil не допустимое значение.

    action

    Селектор, идентифицирующий метод цели, которая будет вызвана сообщением действия. NULL не допустимое значение.

    Обсуждение

    Можно вызвать этот метод многократно для указания многократных пар целевого действия. Однако, если Вы запрашиваете добавить пару целевого действия, уже добавленную, тогда запрос проигнорирован.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • Удаляет цель и действие от объекта устройства распознавания жеста.

    Объявление

    Swift

    func removeTarget(_ target: AnyObject?, action action: Selector)

    Objective C

    - (void)removeTarget:(id)target action:(SEL)action

    Параметры

    target

    Объект, который в настоящее время является получателем сообщений действия, отправленных получателем, когда происходит представленный жест. Указать nil если Вы хотите удалить все цели из получателя.

    action

    Селектор, идентифицирующий метод цели, которая будет вызвана сообщением действия. Указать NULL если Вы хотите удалить все действия из получателя.

    Обсуждение

    Вызов этого метода удаляет указанную пару целевого действия. Передача nil для target соответствия все цели и передача NULL для action соответствия все действия.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • Возвращает точку, вычисленную как расположение в высказанном мнении жеста, представленного получателем.

    Объявление

    Swift

    func locationInView(_ view: UIView?) -> CGPoint

    Objective C

    - (CGPoint)locationInView:(UIView *)view

    Параметры

    view

    A UIView объект, на котором имел место жест. Указать nil указать окно.

    Возвращаемое значение

    Точка в системе локальной координаты view это идентифицирует расположение жеста. Если nil указан для view, метод возвращает расположение жеста в основной системе координат окна.

    Обсуждение

    Возвращенное значение является универсальным расположением единственной точки для жеста, вычисленного платформой UIKit. Это обычно - центроид касаний, вовлеченных в жест. Для объектов UISwipeGestureRecognizer и UITapGestureRecognizer классы, расположение, возвращенное этим методом, имеют значение, особенное для жеста. Это значение документируется в ссылку для тех классов.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

    См. также

    – locationOfTouch:inView:

  • Возвращает расположение одного из касаний жеста в системе локальной координаты высказанного мнения.

    Объявление

    Swift

    func locationOfTouch(_ touchIndex: Int, inView view: UIView?) -> CGPoint

    Objective C

    - (CGPoint)locationOfTouch:(NSUInteger)touchIndex inView:(UIView *)view

    Параметры

    touchIndex

    Индекс a UITouch объект в частном массиве сохраняется получателем. Этот сенсорный объект представляет легкий текущий жест.

    view

    A UIView объект, на котором имел место жест. Указать nil указать окно.

    Возвращаемое значение

    Точка в системе локальной координаты view это идентифицирует расположение касания. Если nil указан для view, метод возвращает сенсорное расположение в основной системе координат окна.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

    См. также

    – locationInView:

  • Возвращает число касаний, вовлеченных в жест, представленный получателем.

    Объявление

    Swift

    func numberOfTouches() -> Int

    Objective C

    - (NSUInteger)numberOfTouches

    Возвращаемое значение

    Число UITouch объекты в частном массиве сохраняются получателем. Каждый из этих объектов представляет касание в текущем жесте.

    Обсуждение

    Используя значение, возвращенное этим методом в цикле, можно попросить расположение отдельных касаний с помощью locationOfTouch:inView: метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • state Свойство

    Текущее состояние устройства распознавания жеста. (только для чтения)

    Объявление

    Swift

    var state: UIGestureRecognizerState { get }

    Objective C

    @property(nonatomic, readonly) UIGestureRecognizerState state

    Обсуждение

    Возможные состояния, в которых может быть устройство распознавания жеста, представлены константами типа UIGestureRecognizerState. Некоторые из этих состояний не применимы к дискретным жестам. Версия только для чтения state свойство предназначается для клиентов класса устройства распознавания жеста и не подклассов.

    Специальные замечания

    Подклассы UIGestureRecognizer должен использовать версию чтения-записи государственной собственности. Они получают этот redeclaration, когда они импортируют UIGestureRecognizerSubclass.h заголовочный файл:

    • @property(nonatomic,readwrite) UIGestureRecognizerState state;

    Устройства распознавания для дискретного перехода жестов от UIGestureRecognizerStatePossible к UIGestureRecognizerStateFailed или UIGestureRecognizerStateRecognized. Устройства распознавания для непрерывного перехода жеста от UIGestureRecognizerStatePossible к этим фазам в данном порядке: UIGestureRecognizerStateBegan, UIGestureRecognizerStateChanged, и UIGestureRecognizerStateEnded. Если, однако, они получают касание отмены, они должны перейти к UIGestureRecognizerStateCancelled. Если устройства распознавания для непрерывных жестов не могут интерпретировать мультисенсорную последовательность как свой жест, они переходят к UIGestureRecognizerStateFailed.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • view Свойство

    Представление устройство распознавания жеста присоединено. (только для чтения)

    Объявление

    Swift

    var view: UIView? { get }

    Objective C

    @property(nonatomic, readonly) UIView *view

    Обсуждение

    Вы присоединяете (или добавляете), устройство распознавания жеста к a UIView объект с помощью addGestureRecognizer: метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • enabled Свойство

    Булево свойство, указывающее, включено ли устройство распознавания жеста.

    Объявление

    Swift

    var enabled: Bool

    Objective C

    @property(nonatomic, getter=isEnabled) BOOL enabled

    Обсуждение

    Отключает жест устройства распознавания, таким образом, он не получает касания. Значение по умолчанию YEStrue. Если Вы изменяете это свойство на NOfalse в то время как устройство распознавания жеста в настоящее время распознает жест, переходы устройства распознавания жеста к отмененному состоянию.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • cancelsTouchesInView Свойство

    Влияние булева значения, поставлены ли касания представлению, когда распознан жест.

    Объявление

    Swift

    var cancelsTouchesInView: Bool

    Objective C

    @property(nonatomic) BOOL cancelsTouchesInView

    Обсуждение

    Когда это свойство YEStrue (значение по умолчанию), и получатель распознает свой жест, находящиеся на рассмотрении касания того жеста не поставлены представлению и ранее поставлены, касания отменяются через a touchesCancelled:withEvent: сообщение отправило к представлению. Если значение этого свойства, если устройство распознавания жеста не распознает свой жест или NOfalse, представление получает все касания в мультисенсорной последовательности.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • delaysTouchesBegan Свойство

    Булево значение, определяющее, ли задержки получателя, представляющие касания начать фаза к ее представлению.

    Объявление

    Swift

    var delaysTouchesBegan: Bool

    Objective C

    @property(nonatomic) BOOL delaysTouchesBegan

    Обсуждение

    Когда значение этого свойства NOfalse (значение по умолчанию), представления анализируют сенсорные события в UITouchPhaseBegan и UITouchPhaseMoved параллельно с получателем. Когда значение свойства YEStrue, окно приостанавливает поставку сенсорных объектов в UITouchPhaseBegan фаза к представлению. Если устройство распознавания жеста впоследствии распознает свой жест, эти сенсорные объекты отбрасываются. Если устройство распознавания жеста, однако, не распознает свой жест, окно поставляет эти объекты представлению в a touchesBegan:withEvent: сообщение (и возможно последующая обработка и анализ touchesMoved:withEvent: сообщение для информирования его о текущих расположениях касаний). Установите это свойство в YEStrue препятствовать тому, чтобы представления обработали любые касания в UITouchPhaseBegan фаза, которая может быть распознана как часть этого жеста.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • delaysTouchesEnded Свойство

    Булево значение, определяющее, ли задержки получателя, отправляющие касания в фазе конца к ее представлению.

    Объявление

    Swift

    var delaysTouchesEnded: Bool

    Objective C

    @property(nonatomic) BOOL delaysTouchesEnded

    Обсуждение

    Когда значение этого свойства YEStrue (значение по умолчанию), и получатель анализирует сенсорные события, окно приостанавливает поставку сенсорных объектов в UITouchPhaseEnded фаза к присоединенному представлению. Если устройство распознавания жеста впоследствии распознает свой жест, эти сенсорные объекты отменяются (через a touchesCancelled:withEvent: сообщение). Если устройство распознавания жеста не распознает свой жест, окно поставляет эти объекты в вызове представления touchesEnded:withEvent: метод. Установите это свойство в NOfalse иметь сенсорные объекты в UITouchPhaseEnded поставленный представлению, в то время как устройство распознавания жеста анализирует те же касания.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • Создает отношение зависимости между получателем и другим устройством распознавания жеста.

    Объявление

    Swift

    func requireGestureRecognizerToFail(_ otherGestureRecognizer: UIGestureRecognizer)

    Objective C

    - (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer

    Параметры

    otherGestureRecognizer

    Другой объект устройства распознавания жеста (экземпляр подкласса UIGestureRecognizer).

    Обсуждение

    Этот метод создает отношение с другим устройством распознавания жеста, задерживающим переход получателя из UIGestureRecognizerStatePossible. Состояние, что переходы получателя к зависят от того, что происходит с otherGestureRecognizer:

    Пример, где этот метод можно было бы вызвать, - когда Вы хотите жест единственного касания, требуют, чтобы жест двойного касания перестал работать.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

  • delegate Свойство

    Делегат устройства распознавания жеста.

    Объявление

    Swift

    unowned(unsafe) var delegate: UIGestureRecognizerDelegate?

    Objective C

    @property(nonatomic, assign) id< UIGestureRecognizerDelegate > delegate

    Обсуждение

    Устройство распознавания жеста поддерживает слабую ссылку на своего делегата. Делегат должен принять UIGestureRecognizerDelegate протокол и реализация один или больше ее методов.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.

UIGestureRecognizerSubclass.h заголовочный файл содержит расширение класса, объявляющее, что методы намеревались быть вызванными или переопределенными только подклассами UIGestureRecognizer. Клиенты, просто использующие конкретные подклассы UIGestureRecognizer никогда не должен вызывать эти методы (за исключением отмеченных).

  • Отправленный в получатель, когда один или несколько пальцев приземляются в связанном представлении.

    Объявление

    Objective C

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

    Параметры

    touches

    Ряд UITouch экземпляры, в конечном счете представленные event это представляет касания в UITouchPhaseBegan фаза.

    event

    A UIEvent объект, представляющий событие, которому принадлежат касания.

    Обсуждение

    Этот метод имеет ту же точную подпись как соответствующая, объявленная UIResponder. Через этот метод устройство распознавания жеста получает сенсорные объекты (в их UITouchPhaseBegan фаза), прежде чем представление, присоединенное к устройству распознавания жеста, получает их. UIGestureRecognizer объекты не находятся в цепочке респондента, все же наблюдают касания, протестированные на хит к их представлению и подпредставлениям их представления. После наблюдения поставка сенсорных объектов к присоединенному представлению или их расположение иначе, затронута cancelsTouchesInView, delaysTouchesBegan, и delaysTouchesEnded свойства.

    Если устройство распознавания жеста интерпретирует непрерывный жест, оно должно установить свое состояние в UIGestureRecognizerStateBegan после получения этого сообщения. Если в какой-либо точке в ее обработке касания возражает, что устройство распознавания жеста решает, что мультисенсорная последовательность события не является своим жестом, это должно установить его состояние в UIGestureRecognizerStateCancelled.

    Многократные касания отключены по умолчанию. Для получения многократных сенсорных событий, необходимо установить a multipleTouchEnabled свойство присоединенного экземпляра представления к YEStrue.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 3.2 и позже.

  • Отправленный в получатель, когда один или несколько пальцев перемещаются в связанное представление.

    Объявление

    Objective C

    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

    Параметры

    touches

    Ряд UITouch экземпляры, в конечном счете представленные event это представляет касания в UITouchPhaseMoved фаза.

    event

    A UIEvent объект, представляющий событие, которому принадлежат касания.

    Обсуждение

    Этот метод имеет ту же точную подпись как соответствующая, объявленная UIResponder. Через этот метод устройство распознавания жеста получает сенсорные объекты (в их UITouchPhaseMoved фаза), прежде чем представление, присоединенное к устройству распознавания жеста, получает их. UIGestureRecognizer объекты не находятся в цепочке респондента, все же наблюдают касания, протестированные на хит к их представлению и подпредставлениям их представления. После наблюдения поставка сенсорных объектов к присоединенному представлению или их расположение иначе, затронута cancelsTouchesInView, delaysTouchesBegan, и delaysTouchesEnded свойства.

    Если устройство распознавания жеста интерпретирует непрерывный жест, оно должно установить свое состояние в UIGestureRecognizerStateChanged после получения этого сообщения. Если в какой-либо точке в ее обработке касания возражает, что устройство распознавания жеста решает, что мультисенсорная последовательность события не является своим жестом, это должно установить его состояние в UIGestureRecognizerStateCancelled .

    Многократные касания отключены по умолчанию. Для получения многократных сенсорных событий, необходимо установить a multipleTouchEnabled свойство присоединенного экземпляра представления к YEStrue.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 3.2 и позже.

  • Отправленный в получатель, когда один или несколько пальцев поднимаются со связанного представления.

    Объявление

    Objective C

    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

    Параметры

    touches

    Ряд UITouch экземпляры, в конечном счете представленные event это представляет касания в UITouchPhaseEnded фаза.

    event

    A UIEvent объект, представляющий событие, которому принадлежат касания.

    Обсуждение

    Этот метод имеет ту же точную подпись как соответствующая, объявленная UIResponder. Через этот метод устройство распознавания жеста получает сенсорные объекты (в их UITouchPhaseEnded фаза), прежде чем представление, присоединенное к устройству распознавания жеста, получает их. UIGestureRecognizer объекты не находятся в цепочке респондента, все же наблюдают касания, протестированные на хит к их представлению и подпредставлениям их представления. После наблюдения поставка сенсорных объектов к присоединенному представлению или их расположение иначе, затронута cancelsTouchesInView, delaysTouchesBegan, и delaysTouchesEnded свойства.

    Если устройство распознавания жеста интерпретирует непрерывный жест, оно должно установить свое состояние в UIGestureRecognizerStateEnded после получения этого сообщения. Если это интерпретирует дискретный жест, это должно установить свое состояние в UIGestureRecognizerStateRecognized. Если в какой-либо точке в ее обработке касания возражает, что устройство распознавания жеста решает, что мультисенсорная последовательность события не является своим жестом, это должно установить его состояние в UIGestureRecognizerStateCancelled.

    Многократные касания отключены по умолчанию. Для получения многократных сенсорных событий, необходимо установить a multipleTouchEnabled свойство присоединенного экземпляра представления к YEStrue.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 3.2 и позже.

  • Отправленный в получатель, когда системное событие (такое как низкая память, предупреждающая), отменяет сенсорное событие.

    Объявление

    Objective C

    - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event

    Параметры

    touches

    Ряд UITouch экземпляры, в конечном счете представленные event это представляет касания в UITouchPhaseCancelled фаза.

    event

    A UIEvent объект, представляющий событие, которому принадлежат касания.

    Обсуждение

    Этот метод имеет ту же точную подпись как соответствующая, объявленная UIResponder. Через этот метод устройство распознавания жеста получает сенсорные объекты (в их UITouchPhaseCancelled фаза), прежде чем представление, присоединенное к устройству распознавания жеста, получает их. UIGestureRecognizer объекты не находятся в цепочке респондента, все же наблюдают касания, протестированные на хит к их представлению и подпредставлениям их представления. После наблюдения поставка сенсорных объектов к присоединенному представлению или их расположение иначе, затронута cancelsTouchesInView, delaysTouchesBegan, и delaysTouchesEnded свойства.

    После получения этого сообщения устройство распознавания жеста для непрерывного жеста должно установить свое состояние в UIGestureRecognizerStateCancelled; устройство распознавания жеста для дискретного жеста должно установить свое состояние в UIGestureRecognizerStateFailed.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 3.2 и позже.

  • Переопределенный для сброса внутреннего состояния, когда завершается попытка распознавания жеста.

    Объявление

    Objective C

    - (void)reset

    Обсуждение

    Время выполнения вызывает этот метод после того, как состояние устройства распознавания жеста было установлено в UIGestureRecognizerStateEnded, UIGestureRecognizerStateRecognized, UIGestureRecognizerStateCancelled, или UIGestureRecognizerStateFailed— другими словами, любой терминал утверждает для попытки распознавания жеста. Подклассы должны сбросить любое внутреннее состояние в подготовке к новой попытке распознавания жеста. После того, как этот метод вызывают, устройство распознавания жеста не получает дальнейших обновлений для касаний, начавшихся, но не закончившихся.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 3.2 и позже.

    См. также

    состояние

  • Говорит устройству распознавания жеста игнорировать определенное касание данного события.

    Объявление

    Objective C

    - (void)ignoreTouch:(UITouch *)touch forEvent:(UIEvent *)event

    Параметры

    touch

    A UITouch объект, который является частью текущей мультисенсорной последовательности и связанный с event.

    event

    A UIEvent объект, включающий ссылку на touch.

    Обсуждение

    Если касание не является частью этого жеста, можно передать его этому методу, заставив его быть проигнорированными. UIGestureRecognizer не отменяет проигнорированные касания к связанному представлению даже если cancelsTouchesInView YEStrue. Этот метод предназначается, чтобы быть вызванным, не переопределенным.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 3.2 и позже.

  • Переопределенный, чтобы указать, что указанное устройство распознавания жеста может препятствовать тому, чтобы получатель распознал жест.

    Объявление

    Objective C

    - (BOOL)canBePreventedByGestureRecognizer:(UIGestureRecognizer *)preventingGestureRecognizer

    Параметры

    preventingGestureRecognizer

    Экземпляр подкласса UIGestureRecognizer.

    Возвращаемое значение

    YEStrue указать это preventingGestureRecognizer может блокировать получатель от распознавания его жеста, иначе NOfalse.

    Обсуждение

    Переопределение этих методов включает то же поведение как реализация UIGestureRecognizerDelegate методы gestureRecognizerShouldBegin: и gestureRecognizer:shouldReceiveTouch:. Однако путем переопределения их, подклассы могут определить правила предотвращения всего класса. Например, a UITapGestureRecognizer объект никогда не предотвращает другого UITapGestureRecognizer объект с более высоким количеством касания.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 3.2 и позже.

  • Переопределенный, чтобы указать, что получатель может препятствовать тому, чтобы указанное устройство распознавания жеста распознало свой жест.

    Объявление

    Objective C

    - (BOOL)canPreventGestureRecognizer:(UIGestureRecognizer *)preventedGestureRecognizer

    Параметры

    preventedGestureRecognizer

    Экземпляр подкласса UIGestureRecognizer.

    Возвращаемое значение

    YEStrue указать, что получатель может блокировать preventedGestureRecognizer от распознавания его жеста, иначе NOfalse.

    Обсуждение

    Переопределение этих методов включает то же поведение как реализация UIGestureRecognizerDelegate методы gestureRecognizerShouldBegin: и gestureRecognizer:shouldReceiveTouch:. Однако путем переопределения их, подклассы могут определить правила предотвращения всего класса. Например, a UITapGestureRecognizer объект никогда не предотвращает другого UITapGestureRecognizer объект с более высоким количеством касания.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 3.2 и позже.

  • Переопределенный, чтобы указать, что получатель требует, чтобы указанное устройство распознавания жеста перестало работать.

    Объявление

    Objective C

    - (BOOL)shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

    Параметры

    otherGestureRecognizer

    Экземпляр подкласса UIGestureRecognizer.

    Возвращаемое значение

    YEStrue устанавливать требование отказа; иначе, NOfalse.

    Обсуждение

    Переопределение этого метода позволяет подклассу определять требование отказа всего класса.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 7.0 и позже.

  • Переопределенный, чтобы указать, что получатель должен потребоваться, чтобы перестать работать указанным устройством распознавания жеста.

    Объявление

    Objective C

    - (BOOL)shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

    Параметры

    otherGestureRecognizer

    Экземпляр подкласса UIGestureRecognizer.

    Возвращаемое значение

    YEStrue устанавливать требование отказа; иначе, NOfalse.

    Обсуждение

    Переопределение этого метода позволяет подклассу определять требование отказа всего класса.

    Оператор импорта

    Objective C

    @import UIKit;

    Доступность

    Доступный в iOS 7.0 и позже.

Типы данных

  • Текущее состояние устройство распознавания жеста находится в.

    Объявление

    Swift

    enum UIGestureRecognizerState : Int { case Possible case Began case Changed case Ended case Cancelled case Failed }

    Objective C

    typedef enum { UIGestureRecognizerStatePossible, UIGestureRecognizerStateBegan, UIGestureRecognizerStateChanged, UIGestureRecognizerStateEnded, UIGestureRecognizerStateCancelled, UIGestureRecognizerStateFailed, UIGestureRecognizerStateRecognized = UIGestureRecognizerStateEnded } UIGestureRecognizerState;

    Константы

    • Possible

      UIGestureRecognizerStatePossible

      Устройство распознавания жеста еще не распознало свой жест, но может оценивать сенсорные события. Это - состояние по умолчанию.

      Доступный в iOS 3.2 и позже.

    • Began

      UIGestureRecognizerStateBegan

      Устройство распознавания жеста получило сенсорные объекты, распознанные как непрерывный жест. Это отправляет свое сообщение действия (или сообщения) в следующем цикле цикла выполнения.

      Доступный в iOS 3.2 и позже.

    • Changed

      UIGestureRecognizerStateChanged

      Устройство распознавания жеста получило касания, распознанные как изменение в непрерывном жесте. Это отправляет свое сообщение действия (или сообщения) в следующем цикле цикла выполнения.

      Доступный в iOS 3.2 и позже.

    • Ended

      UIGestureRecognizerStateEnded

      Устройство распознавания жеста получило касания, распознанные как конец непрерывного жеста. Это отправляет свое сообщение действия (или сообщения) в следующем цикле цикла выполнения и сбрасывает его состояние к UIGestureRecognizerStatePossible.

      Доступный в iOS 3.2 и позже.

    • Cancelled

      UIGestureRecognizerStateCancelled

      Устройство распознавания жеста получило касания, приводящие к отмене непрерывного жеста. Это отправляет свое сообщение действия (или сообщения) в следующем цикле цикла выполнения и сбрасывает его состояние к UIGestureRecognizerStatePossible.

      Доступный в iOS 3.2 и позже.

    • Failed

      UIGestureRecognizerStateFailed

      Устройство распознавания жеста получило мультисенсорную последовательность, которую оно не может распознать как ее жест. Никакое сообщение действия не отправляется, и устройство распознавания жеста сбрасывается к UIGestureRecognizerStatePossible.

      Доступный в iOS 3.2 и позже.

    • UIGestureRecognizerStateRecognized

      Устройство распознавания жеста получило мультисенсорную последовательность, которую оно распознает как ее жест. Это отправляет свое сообщение действия (или сообщения) в следующем цикле цикла выполнения и сбрасывает его состояние к UIGestureRecognizerStatePossible.

      Доступный в iOS 3.2 и позже.

    Обсуждение

    Устройства распознавания жеста распознают дискретное событие, такое как касание или сильно ударение, но не сообщают об изменениях в жесте. Другими словами, дискретные жесты не переходят посредством Начинания и Измененных состояний, и они не могут перестать работать или быть отменены.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.2 и позже.