我有一个关于考虑在 UITextView
中滚动到底部的性能和良好实践的问题。
例如,我有一个 UITextView
,它显示具有特定字体和颜色的属性文本,如日志消息。请注意,日志文本最多可包含 50.000 条日志。每次我将新日志(新属性字符串)附加到现有 UITextView
attributedText
属性时,我都需要滚动到底部。
下面的函数运行良好:
private func scrollLogTextViewToBottom() {
let bottomRange = NSRange(location: textView.text.lengthOfBytes(using: .utf8), length: 0)
textView.scrollRangeToVisible(bottomRange)
}
当 UITextView 有大量日志时,我担心调用此函数滚动到底部的性能和潜在内存(或其他资源问题),比方说 50.000?是否有更快/性能更友好的解决方案来为每个添加的日志滚动到底部,总是调用以获取整个 UITextView 的范围?
最佳答案
那么,每次追加一条新日志(一段文本)时,它会作为一个完整的文本(没有任何分隔)追加到textview的文本中吗?我想这是一个很好的解决方案。
关于ios - 是 scrollRangeToVisible(_ :) considered slow if a large attributed text is set in UITextView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57288494/