斯威夫特 4.1
在您的UITextView
扩展中,将以下代码放入一个函数中,并在您的控制器中使用它:您可以在视图控制器的 SelectionDidChange 委托方法中使用您的 textView 实例调用此方法。最好用 condition 包装这个函数调用textView.selectedRange.length > 0
,以获得一些文本......
let begin = self.beginningOfDocument
let start = self.position(from: begin, offset: selectedRange.location)
let end = self.position(from: position(from: start!, offset: 0)!, offset: selectedRange.length)
let txtRange = self.textRange(from: start!, to: end!)
let txt = self.text(in: txtRange!)
print("Sel Text is \(String(describing: txt))")
我们不能使用可选绑定来存储选定的范围,而是可以为 nsrange 类型声明一个可选,然后使用 if-let ... 事物。
TextInputComponent
具有获取选定文本范围的属性。
let range = textView.selectedRange
然后您可以使用range.location
, range.length
values 来更改容器中文本的属性等...