現在のプロジェクトはcocos2dv2で実行されています。
CCLayerに単純なUITextFieldを追加しました。
ユーザーが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を入力してもらいたいと思います。