gpt4 book ai didi

ios - 以编程方式调用 textFieldShouldReturn

转载 作者:行者123 更新时间:2023-12-01 15:56:31 26 4
gpt4 key购买 nike

当前项目运行在cocos2d v2下

我有一个简单的 UITextField 添加到 CCLayer。

只要用户触摸文本字段,就会出现一个键盘。

然后当用户触摸“返回”按钮时,键盘消失并清除输入。

我试图做的是当用户触摸 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

我使用此函数进行一些计算并清除输入。因此,我希望 ccTouchesBegan 在文本字段为“resignFirstResponder”时输入此 textFieldShouldReturn。

最佳答案

来自 the Apple docs :

textFieldShouldReturn: Asks the delegate if the text field should process the pressing of the return button.

所以它只在用户点击返回按钮时被调用。

我宁愿创建一个用于计算和输入清算的方法,并在需要时调用该方法。示例:

- (void)calculateAndClearInput {
// Do some calculations and clear the input.
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
// Call your calculation and clearing method.
[self calculateAndClearInput];
return YES;
}

- (void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
UITouch* touch = [touches anyObject];
if (touch.view.tag != kTAGTextField) {
[[[[CCDirector sharedDirector] view] viewWithTag:kTAGTextField] resignFirstResponder];
// Call it here as well.
[self calculateAndClearInput];
}
}

关于ios - 以编程方式调用 textFieldShouldReturn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11932166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com