2013-11-21 3 views
1

У меня есть UITextField, и он активируется (варит мигает). Я хочу определить, когда пользователь удаляет UITextField (где поведение по умолчанию заключается в том, чтобы показать/скрыть контекстное меню «Выбрать/Выбрать/Вставить»). Я попробовал несколько вещей, один из которых был UITapGestureRecognizer:Обнаружение касания активированного UITextField

self.userInteractionEnabled = YES; 
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)]; 
[self addGestureRecognizer:tap]; 
tap.delegate = self; 

Просто нажав на UITextField не производит вызова моего обработчика.

- (void)tap:(UITapGestureRecognizer *)tap 
{ 
    if (tap.state == UIGestureRecognizerStateBegan) 
    { 
     // do something 
    } 

    if (tap.state == UIGestureRecognizerStateEnded) 
    { 
     // do something 
    } 
} 

«Swiping» UITextField производит вызов (который не решает проблему), и даже так, tap.state всегда UIGestureRecognizerStateEnded (я хотел бы иметь возможность различать между приземлением и подкрасками).

Любые предложения?

ответ

1

Как добавить прозрачный вид (или 99% прозрачный), наложенный на текстовое поле, и установить распознаватель жестов в этом представлении?

Вставьте представление, когда пользователь активирует его, и удалите его, когда текстовое представление отклонено.

Насколько я помню, вам может потребоваться прозрачность альфа = 0.999 ;, поскольку я, кажется, вспоминаю полностью прозрачные представления, не активирует распознавателей жестов (но я мог ошибаться, или моя информация устарела.)

Смежные вопросы