程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我们如何从 UITextView 中的选定文本中获取整个文本?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决我们如何从 UITextView 中的选定文本中获取整个文本??

开发过程中遇到我们如何从 UITextView 中的选定文本中获取整个文本?的问题如何解决?下面主要结合日常开发的经验,给出你关于我们如何从 UITextView 中的选定文本中获取整个文本?的解决方法建议,希望对你解决我们如何从 UITextView 中的选定文本中获取整个文本?有所启发或帮助;

如果用户选择这样的部分,我如何在蓝色矩形中获取整个文本,在 UITextVIEw 内:

我们如何从 UITextView 中的选定文本中获取整个文本?

我当前的代码是只获取选定的文本:

if let range = textVIEw.SELEctedTextRange {
    let SELEctedText = textVIEw.text(in: rangE) {
        //SELEctedText
    }
}

解决方法

您必须将视图控制器设置为文本视图委托 UITextViewDelegate

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

实现textViewDidChangeSELEction方法

func textViewDidChangeSELEction(_ textView: UITextView)

在此函数中,您可以获取所选行的开头和结尾的 UITextPosition,然后创建一个新范围并检索所选文本:

func textViewDidChangeSELEction(_ textView: UITextView) {
    guard let SELEctedTextRange = textView.SELEctedTextRange,let start = textView.tokenizer
            .position(from: SELEctedTextRange.start,toBoundary: .line,inDirection: .BACkWARD),let end = textView.tokenizer
            .position(from: SELEctedTextRange.end,inDirection: .forWARD),let range = textView.textRange(from: start,to: end),let text = textView.text(in: rangE)
    else { return }
    print(text)
}

将此扩展助手添加到您的项目中

extension UITextDirection {
    static let forWARD: Self = .init(rawValue: 0)
    static let BACkWARD: Self = .init(rawValue: 1)
}

大佬总结

以上是大佬教程为你收集整理的我们如何从 UITextView 中的选定文本中获取整个文本?全部内容,希望文章能够帮你解决我们如何从 UITextView 中的选定文本中获取整个文本?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。