Как отключить мультитач при наличии нескольких просмотров? - PullRequest
4 голосов
/ 23 декабря 2010

Я создал свой собственный вид, который расширяет UIControl. Это пользовательское представление имеет собственную сенсорную реализацию. В нем реализованы методы touchesBegan, Moved, Ended и Cancelled.

В контроллере основного вида я создал несколько экземпляров этого вида. Так что на экране есть несколько пользовательских кнопок.

Я хочу отключить мультитач в своем приложении. Если я нажму одну пользовательскую кнопку, другие кнопки не будут отвечать.

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

Но проблема в том, что когда я нажимаю эти несколько кнопок одновременно, два или более методов touchBegan работают одновременно и передача сообщений нарушается. Я пытался установить multiTouchEnabled = NO и exclusiveTouch = YES, но он все равно не работал.

Как принудительно отключить мультитач в моем приложении?

Спасибо.

1 Ответ

6 голосов
/ 23 декабря 2010

Вам необходимо установить exclusiveTouch на YES, а не NO (это по умолчанию в любом случае).Название свойства относится к представлению, являющемуся эксклюзивным получателем любых событий касания в течение продолжительности.

...