objective-c - 追加到 NSTextView 并滚动

标签 objective-c macos cocoa nstextview

好的,我需要的应该非常简单。然而,我到处都看过,但我不确定我是否找到了 100% 有效的方法(这也是我过去曾困扰过的事情)。

所以,我们在这里:

  • 我希望能够附加NSTextView
  • 添加后,NSTextView 应该向下滚动(以便可以看到最新添加的内容)

很简单,是吧?

那么……有什么想法吗? (一个完全执行这个简单“技巧”的代码示例将非常理想......)

最佳答案

在交叉引用了几个答案和来源(进行了一些调整)之后,这里是确实有效的答案(假设 _myTextView 是一个 NSTextView socket ):

- (void)appendToMyTextView:(NSString*)text
{
    dispatch_async(dispatch_get_main_queue(), ^{
        NSAttributedString* attr = [[NSAttributedString alloc] initWithString:text];

        [[_myTextView textStorage] appendAttributedString:attr];
        [_myTextView scrollRangeToVisible:NSMakeRange([[_myTextView string] length], 0)];
    });
}

关于objective-c - 追加到 NSTextView 并滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15172971/

相关文章:

ios - 选项 "class_prefix"未知元句法

ios - AVFoundation 自定义相机导致崩溃/内存压力?

c - "EXC_BAD_ACCESS: Unable to restore previously selected frame"错误,数组大小?

macos - NSSplitviewController 以编程方式

swift - 如何删除编辑完成时选择的 NSTextField 指示符

c++ - 无法从 glGetShaderInfoLog 检索错误消息

ipad - cocoa :场景与 View

objective-c - 在 Cocoa 应用程序中使用特定本地化

ios - 错误 : Get Image from URL

ios - UIScrollView 不缩放