当我在编辑textview时按回车键时,它将在我当前正在编辑textview的位置换行,并自动转到textview文本的底部。我认为这是因为我正在使用Firebase将textview保留为实时文本,以便可以在所有设备上更新。当我在以下代码中删除观察者时,它的工作原理与预期的一样:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
ref = Database.database().reference()
textView.delegate = self
ref.child("Notes").observe(.value, with: { (snapshot) in
let note = snapshot.value as? [String : String]
self.textView.text = note!["note"]
})
}
我也有这段代码可以使用texview中的文本更新数据库:
func textViewDidChange(_ textView: UITextView) { //Fires when the textview text changes
print(textView.text)
self.ref.child("Notes/note").setValue(textView.text)
}
我认为我有问题,因为它从数据库中获取文本并将文本的新副本设置到textview中,我该如何解决此问题?