gpt4 book ai didi

ios - 轻敲 UITextView 的事件(即 UITextView 失去焦点)

转载 作者:行者123 更新时间:2023-11-28 12:48:32 27 4
gpt4 key购买 nike

我想在用户完成编辑并点击屏幕上的其他地方后对我的 UITextView 执行一些处理。最佳做法是什么?

我几乎设法通过 func textViewDidEndEditing(textView: UITextView) 获得了预期的效果然而,这仅在用户点击键盘上的“Enter”键时运行(人们很少这样做 - 他们只是通过点击屏幕上的其他地方来提交更改。)

func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) 的问题是它不关心 UITextView 是否被编辑过。

最佳答案

我认为您可以在包含 textView 的 View 上添加一个 UITapGestureRecognizer。在 UITapGestureRecognizer 的选择器中,您可以添加逻辑代码来处理该过程。您可以检查 textView 文本的长度以确定 UITextView 是否被编辑。这是一些示例代码:

override func viewDidLoad() {
super.viewDidLoad()

let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTap))
view.addGestureRecognizer(tapGestureRecognizer)
}

func handleTap() {
let text = textView.text
textView.resignFirstResponder() // loosing focus

if text.characters.count > 0 {
// textView edited
} else {
// textView not edited
}
}

关于ios - 轻敲 UITextView 的事件(即 UITextView 失去焦点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37288897/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com