【问题标题】:UITextField Delegate Method and Cocos2d?UITextField 委托方法和 Cocos2d?
【发布时间】:2011-10-05 21:21:25
【问题描述】:

当我通过后台点击方法辞去第一响应者 (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"];
}

【问题讨论】:

    标签: objective-c cocoa-touch delegates cocos2d-iphone uitextfield


    【解决方案1】:

    我认为您的委托方法有误。我认为你想要的是这个:

    - (void)textFieldDidEndEditing:(UITextField *)textField
    

    【讨论】:

    • 谢谢...不敢相信我忽略了这一点。
    猜你喜欢
    • 1970-01-01
    • 2012-09-26
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多