首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点击UITextView的事件(即UITextView失去焦点)

点击UITextView的事件(即UITextView失去焦点)
EN

Stack Overflow用户
提问于 2016-05-18 01:49:19
回答 1查看 939关注 0票数 0

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

我几乎成功地用func textViewDidEndEditing(textView: UITextView)实现了想要的效果,但是只有当用户点击键盘上的“Enter”键(人们很少这样做--他们只需点击屏幕上的其他地方就可以提交更改)时才能运行。

func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?)的问题是,它不在乎是否编辑了UITextView。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-18 02:07:35

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

代码语言:javascript
复制
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
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37288897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档