gpt4 book ai didi

cocoa - NSOutlineView 不调整 NSScrollView 文档 View 大小

转载 作者:行者123 更新时间:2023-12-03 17:01:10 25 4
gpt4 key购买 nike

我有一个 NSOutlineView,我已以编程方式将其添加到 NSScrollView 中:

outlineView = ECOutlineView()
outlineView.translatesAutoresizingMaskIntoConstraints = false
scrollView.documentView = outlineView

ScrollView 受限于它所在的窗口。除了 ScrollView 不对轮廓 View 长度的变化使用react之外,一切都按预期运行。

例如,如果展开一行,拉长大纲 View ,则 ScrollView 不会调整以允许滚动到新内容。

某些滚动同步确实有效。如果我向下滚动到大纲 View 的末尾并开始删除行,则滚动位置将更新,以便新的底行与 ScrollView 的底部对齐,但滚动范围仍然不正确.

如果我稍微调整窗口大小,scrollView 将更新并给出正确的滚动范围。

所以,看起来约束是正确的,我只需要强制更新 - 但这不应该自动发生吗?

最佳答案

您不应该设置translatesAutoresizingMaskIntoConstraints对于 ScrollView 的文档 View ,设置为 false。一般来说,容器 View 负责控制它所管理的 View 的属性,因为只有它知道如何管理位置。而且,您应该将其保留为默认值,以防您使用不了解自动布局的容器 View 。

“容器 View ”是指专门设计用于管理其他 View 放置的类。我不仅仅指任何可能有 subview 的 View 。

对于封闭的 ScrollView ,如果您只是将其放入普通 View 或您自己的 View 类中,并且使用自动布局来控制其位置,那么您仍然需要设置 translatesAutoresizingMaskIntoConstraints为假。

关于cocoa - NSOutlineView 不调整 NSScrollView 文档 View 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50797017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com