我的项目中有一个文本视图,当用户输入超过20个字符时我想扩展,所以我使用了这个方法
func textViewDidChange(_ textView: UITextView) {
if chatTexts.text.characters.count > 20 {
print("up to 20")
chatTexts.isScrollEnabled = false
}
当键盘上升时我使用它将文本视图移动到键盘顶部
func keyboardShown(notification: NSNotification) {
if let infoKey = notification.userInfo?[UIKeyboardFrameEndUserInfoKey],
let rawFrame = (infoKey as AnyObject).cgRectValue {
let keyboardFrame = view.convert(rawFrame, from: nil)
self.heightKeyboard = keyboardFrame.size.height
levelChatViewController.sizeForOffsetKeyboard = heightKeyboard!
if levelChatViewController.sizeForOffsetKeyboard == 253.0 {
print("the size is 253.0")
animateViewMoving(up: true, moveValue: 207)
} else {
print("the size is 216.0")
animateViewMoving(up: true, moveValue: 167)
}
}
但是当用户开始在textview中写一些文本时,textview将在键盘下面显示
请记住,在添加textViewDidChange之前,每件事情都没问题,而textview是在键盘的顶部,唯一的问题是没有滚动所以我使用textViewDidChange方法来做到这一点但是这个问题发生了