реализовать прикосновения Beg для UITextField - PullRequest
1 голос
/ 18 декабря 2009

Можете ли вы ловить события TextField, когда происходит касание? До сих пор я не видел, чтобы событие Touch было зарегистрировано в TextField. Например,

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

{
UITouch *touch = [event allTouches] anyObject;

if (touch view == TextFieldView) {
do somthing.....
}

Этот фиктивный код, который я хочу реализовать, заключается в том, что мне нужен метод, который запускается, когда пользователь касается текстового поля в течение некоторого периода времени. Если да, то чем как ???

Просвети меня в этом.

Спасибо заранее.

Ответы [ 3 ]

5 голосов
/ 18 декабря 2009

Щелкните правой кнопкой мыши UITextField в IB и свяжите событие Touch Down с требуемым IBAction

2 голосов
/ 18 декабря 2009

Я только что проверил это, написав подкласс подкласса UITextField, который фиксирует прикосновения.

@interface TouchTestTextField : UITextField {}
@end

#import "TouchTestTextField.h"
@implementation TouchTestTextField

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    NSLog(@"touchesBegan");
    NSLog(@"touches=%@,event=%@",touches,event);
}

@end

Он легко фиксирует прикосновения и показывает текстовое поле в виде касания.

1 голос
/ 18 декабря 2009

Вы можете попробовать переопределить [parentView hitTest: withEvent:] в родительском представлении и обрабатывать запросы касаний для textField для каждого касания, когда приложение / пользовательский интерфейс находится в соответствующем состоянии.

Я думаю, что все события touchesMoved / Cancelled / Ended для этого касания затем переходят к родительскому, а не к текстовому полю до следующего касания. Но проверь это и посмотри.

EDIT

Или просто установите userInteractionEnabled = NO, если вы хотите, чтобы родитель обрабатывал прикосновения вместо текстового поля, и установите его в = YES, если вы хотите, чтобы TextField обрабатывал прикосновения. См. Раздел «Обработка событий» в Руководстве по программированию приложений iPhone.

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