Программное отклонение текстового поля клавиатуры с делегатом - PullRequest
0 голосов
/ 03 февраля 2012

У меня есть viewController с этим:

@interface RootViewController : UIViewController <UITextFieldDelegate>{

Затем у меня есть текстовое поле, добавленное программно, как это в viewController.m:

UITextField*textFieldRounded=[[UITextField alloc] initWithFrame:frame];
textFieldRounded.delegate = self;

В том же .m я попробовал все это:

- (void)textFieldDidEndEditing:(UITextField *)textField{
    [textField resignFirstResponder];
NSLog(@"returned?");
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder]; 
NSLog(@"returned?");
 return YES;
}

-(BOOL)textFieldShouldEndEditing:(UITextField *)textField{
    [textField resignFirstResponder];
NSLog(@"returned?");
    return YES;

}

Клавиатура отображается нормально, когда я щелкаю текстовое поле, которое находится в подпредставлении viewController. но нажатие Готово ничего не делает. Операторы NSLog никогда не появляются, поэтому эти методы никогда не вызывают. Есть идеи?

Ответы [ 3 ]

1 голос
/ 03 февраля 2012

У меня просто не было этого вопроса, может быть, но то, что я сделал, это прикрепил объект распознавания жестов касания к представлению, сделал метод экземпляра под названием clear keyboard: и внутри функции, которую я поместил [whatItIsThatOpenedTheKeyboard resignFirstResponder];и это все.Может быть, вы спрашиваете что-то совершенно другое, но я подумал, что постараюсь помочь:)

0 голосов
/ 05 января 2013

Используйте этот метод делегата

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

Добавьте этот метод делегата в свой код и снова запустите приложение ..

0 голосов
/ 03 февраля 2012

Объявите UITextField в файле .h как IBOutlet со свойством и синтезируйте его в файле .m.

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