“完成”时隐藏 UITextView 的虚拟键盘压力机
我想在按下“完成”时隐藏(resignFirstResponder
)UITextView
的虚拟键盘。 UITextView
中没有“退出时结束”。在 UITextField
中,我将“退出时结束”与 IBAction
连接并调用 resignFirstResponder
方法。我怎样才能用UITextView
做到这一点?
I want to hide (resignFirstResponder
) the virtual keyboard of UITextView
when 'Done' presses. Theres no 'Did End on Exit' in UITextView
. In UITextField
i connect the 'Did End on Exit' with an IBAction
and call resignFirstResponder
method. How can i do this with UITextView
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
处理此问题的正确方法是将
inputAccessoryView
中的完成按钮添加到UITextView
。inputAccessoryView
是有时出现在键盘上方的栏。为了实现 inputAccessoryView,只需添加此方法(或其变体)并在 viewDidLoad 中调用它。
然后通过实现您使用
resignFirstResponder
调用的操作方法来处理按下的按钮。这应该会导致键盘上方的标准工具栏中出现一个可用的“完成”按钮。
The correct way to handle this is to add a done button in an
inputAccessoryView
to theUITextView
. TheinputAccessoryView
is the bar that sometimes appears above the keyboard.In order to implement the
inputAccessoryView
simply add this method (or a variation thereof) and call it inviewDidLoad
.Then handel the button being pressed by implementing the action method you called with
resignFirstResponder
.This should result in a working "Done" button appearing in a standard toolbar above the keyboard.
我假设“完成”按钮指的是返回键。它并不像您想象的那么直观。 这个问题很好地涵盖了这一点。
I'm assuming by the "Done" button you mean the return key. It's not as intuitive as you might think. This question covers it pretty well.
如果您希望能够使用返回键
,您可以将其添加到操作中
[[自我视图]结束编辑:是];
you could add this to an action if you want to be able to use your return key
[[self view] endEditing: YES];
确保您声明支持
UITextViewDelegate
协议。.h 文件中的
@interface ...ViewController : UIViewController
`。在.m文件中,实现以下方法
Make sure you declare support for the
UITextViewDelegate
protocol.@interface ...ViewController : UIViewController
` in .h file.In .m file, implement below method
这是附件“完成”按钮的 Swift 版本:
Here is the Swift version of the accessory "Done" button: