Метод делегата TextField не вызывается

Я работаю над целевым проектом iOS 5. Я столкнулся с очень странной проблемой. я устанавливаю

делегировать для моего текстового поля как

self.myTextField.delegate=self;(in viewDidLoad)

и даже попытался установить делегата в nib. Но ни один из них не вызывает

следующие методы делегата textField

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

- (void)textFieldDidBeginEditing:(UITextField *)textField

Я даже пытался дать действие для textField, это тоже не сработало. Интересно, это

проблема в iOS5. Любая помощь приветствуется.


person Raj    schedule 05.02.2013    source источник
comment
Вы установили UITextFieldDelegate в файле .h?   -  person limon    schedule 05.02.2013
comment
Вы определенно используете текстовое поле, а не текстовое представление?   -  person Darren    schedule 05.02.2013
comment
Да, я использую сам textField   -  person Raj    schedule 05.02.2013
comment
Вы поставили точку останова на протоколы и проверили, идет ли она по этим протоколам или нет?   -  person Sudha Tiwari    schedule 05.02.2013
comment
Да, я поставил точку останова. Он не входит внутрь   -  person Raj    schedule 05.02.2013
comment
невозможно помочь вам, если вы не опубликуете код   -  person limon    schedule 05.02.2013
comment
Хорошо, я понял свою ошибку. Мое взаимодействие с пользователем textField отключено в nib. Данные, которые я ввожу в текстовое поле, вводятся через мою настраиваемую клавиатуру. Когда я вручную нажимаю на это текстовое поле, метод делегата вызывается правильно.   -  person Raj    schedule 05.02.2013


Ответы (2)


проверить эти точки,

сначала проверьте протокол, <UITextFieldDelegate> в интерфейсе

проверить свойство IBOutlet прикреплено с представлением или нет;

помните, что соединение с розеткой очень важно

затем в viewDidLoad проверьте [self.txtField setDelegate:self];

затем делегируйте методы

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

- (void)textFieldDidBeginEditing:(UITextField *)textField
person junaidsidhu    schedule 05.02.2013

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

person Madhu    schedule 05.02.2013
comment
Хорошо, я понял свою ошибку. Мое взаимодействие с пользователем textField отключено в nib. Данные, которые я ввожу в текстовое поле, поступают через мою настраиваемую клавиатуру. Когда я вручную нажимаю на это текстовое поле, метод делегата вызывается правильно. - person Raj; 06.02.2013
comment
Пожалуйста, сначала проверьте свой код и анализируйте его снова и снова. Это повысит ваши аналитические способности. Мистер Радж - person Abdul Yasin; 07.10.2013