- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 NSTextView
中偶然发现了一种似乎并非有意为之的行为,或者至少我不明白其背后的原因。
当您在 NSTextView
中有大量文本并且调整控件/窗口的大小时,文字换行只会在文本调整大小时流畅且立即发生滚动到顶部附近。如果您在文本中向下滚动很远,它不会,并且在您释放并完成调整大小之前,它似乎不会“提交”换行。
是否有一些内部限制,或者这是一个错误?
这个问题似乎可以重现:
macOS 10.15.4、Xcode 11.4.1
NSTextView
放在默认生成的 View Controller 上(无论是 3 个中的哪一个:丰富、普通还是默认)并约束它,以便它随窗口(顶部、底部、前导、尾随)NSTextView
顶部,并观察在调整窗口大小时文本如何换行希望有任何 cocoa 侦探能够对此提供一些启发。
编辑:根据docs ,它指出“布局管理器保留对更大范围进行布局的权利”。我认为这意味着它确实是出于性能考虑。
有没有办法确定限制是什么?
最佳答案
编辑:您可以尝试子类化 NSScrollView 以将文本渲染到多个容器中。
NSTextStorage *storage = [[NSTextStorage alloc] initWithString:string];
NSLayoutManager *manager = [[NSLayoutManager alloc] init];
[storage addLayoutManager:manager];
NSInteger i = 0;
while (YES) {
NSTextContainer *container = [[NSTextContainer alloc] initWithSize:CGSizeMake(width, height)];
[manager addTextContainer:container];
NSTextView *textView = [[NSTextView alloc] initWithFrame:CGRectMake(x, y, width, height) textContainer:container];
[self.contentView addSubview:textView];
i++;
NSRange range = [manager glyphRangeForTextContainer:container];
if ( range.length + range.location == string.length )
break;
}
然后,在调整窗口大小时,可以调用 NSLayoutManager 来确保布局仅适用于可见容器。
关于macos - 为什么 NSTextView 在调整大小时并不总是流畅地换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61897767/
在 Vaadin 7.0,显示时JavaBean Table 中的数据与 BeanContainer ,用新数据刷新表的正确方法是什么? 最佳答案 该表通过监听器监视表项的属性。如果您通过表的 Ite
首先,我使用的是带有 Axis2 1.6.2 的 eclipse,我正在 tomcat 6 上部署我创建的 Web 服务。Web 服务是在 eclipse 中通过自上而下的方法创建的。 我被要求使对我
我已将 Rails 3.1.1 应用程序升级到 Rails 3.1.3,现在,对于每个请求,它仅响应错误数量的参数(3 for 1)。不幸的是,它没有说明错误在哪里,并且应用程序跟踪为空。我认为存在一
我是一名优秀的程序员,十分优秀!