【发布时间】:2011-07-19 14:37:19
【问题描述】:
我有一个 UITextView,我正在监听一个 UIButton 事件来对这个 textView 中的文本采取行动:
- (IBAction)buttonClicked {
NSString *text = myTextView.text;
//Do some work with the text.
myTextView.text = @""; //reset the textView.
}
我不希望将 textView 设置为 resignFirstResponder。我面临的问题是:当最后输入的字符是符号时,键盘卡在该视图上并且不会重置为默认键盘字母视图,消息传递应用程序和其他应用程序中的行为也是如此。如何在此方法中以编程方式重置键盘?
这可能是this question 的重复问题。但答案似乎对我不起作用。
这是公认的答案:
[editingField setKeyboardType:UIKeyboardTypeNumberPad];
[editingField reloadInputViews];
这是最后一条评论:
好的,显然将其声明为 UITextView 而不是 UIResponder 会影响它在运行时的行为方式。从字面上看,这是我所做的唯一更改,并且现在可以使用。谢谢。
但我似乎无法理解是什么小改动使它起作用,因为我仍在努力解决这个问题。
我已经尝试过resignFirstResponder和becomeFirstResponder,但是很快,后面的scrollableView没有根据keyboardWillShow事件设置。我也试过[textView setKeyboardAppearance:UIKeyboardAppearanceDefault],但还是没有变化。
是否有任何 API 方法可以执行此操作(例如键盘在单击“空格”时自动重置)?
【问题讨论】:
标签: iphone objective-c uitextview