过去,要在用户返回后关闭键盘,我只需覆盖TextViewShouldReturn函数。但是,在重新下载Xcode(版本9.3.1)时,它似乎不再是UITextViewDelegate中的一个函数,并且我在该主题上发现的大多数先前问题都建议以某种方式覆盖TextViewShouldReturn。有没有我忘记的事情或可能更有效的方式?
答案 0 :(得分:2)
也许您将UITextViewDelegate
与UITextFieldDelegate
混为一谈?
答案 1 :(得分:1)
像textField这样的textView没有类似textViewShouldReturn()的方法,而是可以使用以下代码返回键盘 -
extension ViewController: UITextViewDelegate {
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if(text == "\n") {
textView.resignFirstResponder()
return true
}
return true
}
//确保你在viewDidLoad方法中拥有textView委托
答案 2 :(得分:0)
UITextViewDelegates中没有函数textViewShouldReturn
这个函数是UITextField委托,所以你必须在点击返回时为隐藏键盘创建自己的代码。默认情况下,UITextView返回按钮用于下一行。
答案 3 :(得分:-1)
如果你想隐藏键盘。不妨这个
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text;
{
if ( [ text isEqualToString: @"\n" ] ) {
[ textView resignFirstResponder ];
return NO;
}
return YES;
}