当前项目在 cocos2d v2 下运行。
我有一个简单的 UITextField 添加到 CCLayer。
每当用户触摸 textField 时,就会出现一个键盘。
然后当用户触摸“返回”按钮时,键盘消失并清除输入。
我试图做的是当用户触摸 UITextField 之外的任何地方时做同样的事情。
我确实找到了一种方法并且它有效:
- (void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
UITouch* touch = [touches anyObject];
if(touch.view.tag != kTAGTextField){
[[[[CCDirector sharedDirector] view] viewWithTag:kTAGTextField] resignFirstResponder];
}
}
但是,此方法不调用函数:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
我使用此函数进行一些计算并清除输入。因此,当文本字段为“resignFirstResponder”时,我希望 ccTouchesBegan 输入此 textFieldShouldReturn。