检测UITextView何时被编辑

4

文本编辑器

我的任务

文本视图

我正在尝试创建一个在IOS上的代码编辑器UITextView,我试图让不同类型的代码显示为不同的颜色,这样就不会只有一种颜色(例如注释将是灰色)。

问题

我遇到的问题是我链接文本视图如下:

@IBOutlet weak var textView: UITextView!

我需要检测textView何时被更改,你知道有什么方法可以做到这一点吗?

2个回答

7
要做到这一点,您需要遵循UITextViewDelegate协议,然后将textView的委托设置为self。
因此,在此视图控制器的开头之后UIViewController,您需要添加协议一致性。 例如:
class MyViewController: UIViewController, UITextViewDelegate {

然后在viewDidLoad()中设置代理:

override func viewDidLoad() {
    super.viewDidLoad()
    textView.delegate = self
}

现在,您已经为成功做好了准备。UITextViewDelegate上的所有委托方法都是可选的,因此您只需要实现您想要的方法。在这种情况下,您想要实现的方法是func textViewDidChange(_ textView: UITextView)

每当文本字段中的文本更新时,该方法都会被触发。


4

将storyboard中UITextView的Editing Changed @IBAction创建到你的viewController中。

进入图像描述这里


哦,用IBAction做这件事。这是一种有趣的方式。很酷的想法。 - jakehawken
如果您喜欢或接受本文,请投票支持。不用谢,我很乐意为您服务。 - Arash Etemad
好的,我有一个竞争性的答案...但是好吧。 :) - jakehawken

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接