Метод делегирования UITextField и Cocos2d? - PullRequest
2 голосов
/ 06 октября 2011

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

Вот код с методом init:

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 Ответ

1 голос
/ 06 октября 2011

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

- (void)textFieldDidEndEditing:(UITextField *)textField
...