Programmatically call textFieldShouldReturn(以编程方式调用 textFieldShouldReturn)
问题描述
当前项目运行在cocos2d v2下.
The current project runs under cocos2d v2.
我有一个简单的 UITextField 添加到 CCLayer.
I have a simple UITextField added to a CCLayer.
每当用户触摸文本字段时,就会出现一个键盘.
Whenever, the user touch the textField, a keyboard appears.
然后当用户触摸返回"按钮时,键盘消失并清除输入.
Then when the user touch the "return" button, the keyboard disappear and clears the input.
我试图做的是当用户触摸 UITextField 之外的任何地方时做同样的事情.
What I tried to do is to make the same thing when the user touches anywhere outside the UITextField.
我确实找到了一种方法并且它有效:
I did find a method and it works :
- (void)ccTouchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
UITouch* touch = [touches anyObject];
if(touch.view.tag != kTAGTextField){
[[[[CCDirector sharedDirector] view] viewWithTag:kTAGTextField] resignFirstResponder];
}
}
但是,这个方法并没有调用函数:
However, this method doesn't call the function :
- (BOOL)textFieldShouldReturn:(UITextField *)textField
我用这个函数做一些计算并清除输入.因此,当文本字段为resignFirstResponder"时,我希望 ccTouchesBegan 输入此 textFieldShouldReturn.
I use this function to do some calculation and clear the input. Therefore, I would like ccTouchesBegan to enter this textFieldShouldReturn when the textfield is "resignFirstResponder".
推荐答案
来自 苹果文档:
textFieldShouldReturn:询问委托文本字段是否应处理按下返回按钮.
textFieldShouldReturn: Asks the delegate if the text field should process the pressing of the return button.
所以它只有在用户点击返回按钮时才会被调用.
So it is only called when the user taps the return button.
我宁愿创建一个用于计算和输入清除的方法,并在需要时调用该方法.示例:
I would rather create a method for the calculation and input clearing, and call that method whenever you want it to be called. Example:
- (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];
}
}
这篇关于以编程方式调用 textFieldShouldReturn的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:以编程方式调用 textFieldShouldReturn
基础教程推荐
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01