检测UITextView的编辑时间

时间:2018-04-24 17:04:34

标签: swift uitextview

文本编辑器

我在做什么

文字视图

我正在尝试创建一个UITextView,它是IOS上的代码编辑器,我试图让不同类型的代码成为不同的颜色,所以一切都不只是一种颜色(例如注释会是灰色的)。

问题

我遇到的问题是我正在链接文本视图:

@IBOutlet weak var textView: UITextView!

我需要检测textView何时被更改你知道有什么办法吗?

2 个答案:

答案 0 :(得分:4)

为此,您需要符合UITextViewDelegate协议,然后将textView的委托设置为self。

因此,在此视图控制器开头的UIViewController之后,您需要添加协议一致性。实施例

class MyViewController: UIViewController, UITextViewDelegate {

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

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

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

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

答案 1 :(得分:1)

从storyBoard中的val sparkSession = SparkSession.builder().config(conf).getOrCreate() import sparkSession.implicits._ val RDD1 = sc.cassandraTable[TableName]("keySpace1", "TableName") .where("id =?,id) RDD1.saveToCassandra("keySpace1", "TableName") var DS1 = sparkSession.read .format("org.apache.spark.sql.cassandra") .options(Map("table" -> "TableName", "keyspace" ->"keySpace1")) .load() .where("id ='"+ id +"'").as[CaseClassModel] DS1.write.format("org.apache.spark.sql.cassandra") .mode(SaveMode.Append).option("table", "TableName1") .option("keyspace", "KeySpace1") .save() 创建Editing Changed @IBAction到您的viewController。

enter image description here