记录一次 mac app 开发 textview 不自动滚动的处理流程

1,034 阅读1分钟

搜索关键词 mac app 随着 textview 内容增加自动滚动

百度谷歌了一堆没发现 问了下 opencat image.png

给的答案是这个样子

然后测试 无论怎么改 textview.frame.size 都是保持界面显示高度

~~漫长的调试 ~~ 关键词 mac app textview 赋值长文本后 frame 高度不变化

搜索关键词 mac app textview 赋值后自动滚动

image.png

最后的解决办法

textView.string = "这是一段新的文本"
let range = NSMakeRange(textView.string.count, 0)
textView.scrollRangeToVisible(range)

追踪

今天又发现一个方式 感觉要比之前的解决办法更好一些

// 在NSTextView中追加日志消息

            MyTextView.textStorage?.append(NSAttributedString(string: logMessage + "\n"))

            // 滚动到最后一行

            MyTextView.scrollToEndOfDocument(**nil**)