Метод делегирования UITextField и Cocos2d?

#objective-c #cocoa-touch #delegates #cocos2d-iphone #uitextfield

#objective-c #cocoa-touch #делегаты #cocos2d-iphone #uitextfield

Вопрос:

Когда я отказываюсь от первого ответчика (UITextField- * nameField) с помощью метода фонового нажатия, он не вызывает метод делегирования. Я использую UIKit с cocos2d. Любая помощь приветствуется. Спасибо!

Вот код с методом инициализации:

 CGRect frame = CGRectMake(115, 423,200, 32);
nameField = [[UITextField alloc] initWithFrame:frame];
nameField.borderStyle = UITextBorderStyleNone;
nameField.textColor = [UIColor blackColor];
nameField.textAlignment = UITextAlignmentLeft;
nameField.font = [UIFont fontWithName:@"MarkerFelt-Thin" size:24];
nameField.placeholder = @"Name";
nameField.backgroundColor = [UIColor clearColor];
nameField.autocorrectionType = UITextAutocorrectionTypeNo;
nameField.delegate = self;
nameField.keyboardType = UIKeyboardTypeDefault;
nameField.returnKeyType = UIReturnKeyDone;
[nameField isFirstResponder];
nameField.transform = CGAffineTransformMakeRotation(M_PI / 2.0);
[[[[CCDirector sharedDirector] openGLView] window] addSubview:nameField];  
  

И вот метод делегирования, который я вызываю. Я также соответствую протоколу делегирования в файле заголовка.

 -(void)textViewDidEndEditing:(UITextView *)textView{


NSLog(@"Name has been saved in NSUserDefauts");

NSUserDefaults *usrDef = [NSUserDefaults standardUserDefaults];
NSString *name = [[NSString alloc]initWithFormat:@"%@",nameField.text];
NSLog(@"%@",nameField.text);
[usrDef setObject:name forKey:@"Name"];
}
  

Ответ №1:

Я думаю, у вас неправильный метод делегирования. Тот, который, я думаю, вам нужен, это:

 - (void)textFieldDidEndEditing:(UITextField *)textField
  

Комментарии:

1. Спасибо … не могу поверить, что я это упустил.