Изменить сенсорные события по умолчанию для UITextField - PullRequest
1 голос
/ 16 января 2011

Хорошо, вот что я пытаюсь сделать. У меня есть UITextField. Когда я нажимаю один раз, я хочу вызвать один из моих методов. Когда я дважды коснусь (дважды коснусь его одним пальцем), я хочу отредактировать текстовое поле (как если бы я коснулся его обычным UITextField.)

Я не уверен, как это сделать. Я думал о создании подкласса UITextField и пытался перехватить событие касания во время его отправки, но я не могу понять, какие методы переопределить, чтобы сделать это. Какие методы мне следует переопределить и как?

Или, если есть лучший способ сделать это, дайте мне знать! У меня все уши, и я не знаю, как поступить.

1 Ответ

4 голосов
/ 16 января 2011

Это будет включать несколько шагов:

1.) Добавьте свойство NSBoolean, которое отслеживает, недавно ли пользователь уже нажал на поле (вы сами решаете, что недавно означает здесь).

2.) Реализуйте textFieldShouldBeginEditing: метод делегата, назначенного вашему UITextField. Если пользователь дважды быстро нажал на кнопку (это можно определить, проверив, является ли логическое свойство истинным), затем верните YES. Если нет, вызовите свой метод, а затем верните NO.

...