如何设置 NSScrollView 的内容大小?

Posted

技术标签:

【中文标题】如何设置 NSScrollView 的内容大小?【英文标题】:How to set the content size of NSScrollView? 【发布时间】:2012-03-19 11:04:52 【问题描述】:

我是 Mac OSX 编程的新手。我在 ios 应用程序上创建了可以使用 contentSize 属性设置 UISCrollView 的内容大小的应用程序。但是我没有为 Mac Apps 找到这样的属性。如何完成以及如何在 Mac App 中启用滚动。我查看了有关 *** 的其他问题,但没有发现任何相关内容。 谢谢-

【问题讨论】:

你找到什么了吗? 【参考方案1】:

NSScrollView 附加了 documentView。您可以通过更新 documentView 的框架来更改内容大小。

[scrollView.documentView setFrame: NSMakeRect(0,0,new_width, new_height) ];

【讨论】:

CGRectMake 与 NSRect 不兼容,无法编译。 它编译得很好。 NSRect 只是 CGRect 的 typedef。 仅在编译为 64 位时。 注意:更新 documentView 的 frame 非常重要,而不是它的边界。我只是浪费了几天,因为我正在更改边界,这会产生与预期完全不同的结果。 在 Swift 中似乎不起作用,因为 documentView 是一个常量,因此不能分配它的变量。

以上是关于如何设置 NSScrollView 的内容大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何在放大的 NSScrollView 中修复 NSTextView 的奇怪大小

如何在 NSScrollView 中强制重绘内容

根据表中的行数调整 NSTableView 或 NSScrollView 的大小

NSTextView 和/或 NSScrollView 的自动调整大小

与 NSViewRepresentable 托管的 NSScrollView 绑定的问题

NSImageView:水平适应容器宽度,垂直纵横比