我想在用户打字时摆脱键盘的“返回”功能,这样就没有新行,所以我希望“返回”键充当“完成”功能,这样它就会隐藏键盘。
我正在使用可编辑的 UITextView,因此用户可以输入他们的帖子,并将其发布到主时间线,但由于我有固定的单元格,我不希望用户能够按“返回”他们的帖子将超出时间范围。
我发现这适用于 UITextField,但不适用于 UITextView:
func textFieldShouldReturn(textField: UITextField!) -> Bool {
textField.resignFirstResponder() //if desired
return true
}
所以我只是想知道是否有办法在 UITextView 中做到这一点,或者至少能够在按下回车键时隐藏键盘,而不是创建一个新行。
您可以设置文本字段的返回键类型:
textField.returnKeyType = UIReturnKeyType.done
Update您绝对可以使用相同的方法将返回键设置为“完成”,如上所述。但是,当用户按下返回键时,UITextView 不提供回调。作为解决方法,您可以尝试处理 textView(textView: UITextView, ShouldChangeTextInRange range: NSRange, replacementText text: String) 委托调用,并在检测到新行字符的输入时关闭键盘:
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if (text == "\n") {
textView.resignFirstResponder()
}
return true
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)