Как я могу вызвать метод, когда я нажимаю UITextField? - PullRequest
2 голосов
/ 08 февраля 2011

Я хочу спросить, как я могу вызвать метод, когда я нажимаю (коснитесь, чтобы начать писать) в iphone UITextField, как если бы мы нажимали UIButton и помещали метод в «addTarget», есть ли способ для UITextFields?

Ответы [ 4 ]

12 голосов
/ 08 февраля 2011

реализуйте UITextFieldDelegate и делайте все, что вы хотите сделать в - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField или - (void)textFieldDidBeginEditing:(UITextField *)textField

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


Редактировать: Вот код для вызова myMethod:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 
    [self myMethod]; 
    return YES; 
}
3 голосов
/ 08 февраля 2011

Вы можете установить делегат textField и реализовать в нем метод textFieldShouldBeginEditing: - этот метод будет вызываться, когда пользователь нажимает на поле и до того, как он перейдет к редактированию.

См. Ссылку UITextFieldDelegate для получения информации о доступных методах.

2 голосов
/ 08 февраля 2011
[textField addTarget:self action:@selector(myMethod:) forControlEvents:UIControlEventEditingChanged];

-(void) myMethod:(id)sender
{
    UITextField* textField =  (UITextField *)sender;

}

Я думаю, что это поможет .. !!

0 голосов
/ 08 февраля 2011

Вы можете кодировать,

[YourTextField addTarget:self action:@selector(myMethod:) forControlEvents:UIControlEventEditingDidBegin];

-(void)myMethod
{
 [YourTextField resignFirstResponder];
 //Do whatever you want
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...