【发布时间】:2012-06-04 01:47:27
【问题描述】:
有没有一种简单的方法可以让NSScrollView 在使用自动布局时适应其文档视图的大小变化?
我尝试在文档视图、剪辑视图和滚动视图上同时调用setNeedsUpdateConstraints: 和setNeedsLayout:,但没有任何结果。
fittingSize 的文档视图报告了正确的大小。
问题是包含子视图的文档视图在子视图更改其大小时不会重新调整大小,即使它们调用invalidateIntrinsicContentSize。因此,随着文档视图的增长,文档视图的内容会被裁剪为文档视图的原始大小。文档视图在 nib 中创建,并在 awakeFromBib 方法中设置为滚动视图的文档视图。
我希望文档视图框架在其fittingSize 更改时会自动调整,并相应地更新滚动条。
NSPopover 做了类似的事情 - 前提是内容控制器视图的子视图具有正确设置的约束并且各种内容拥抱值足够高(例如,高于隐藏弹出窗口的高约束优先级)。
【问题讨论】:
-
我不确定我是否理解您的意图——滚动视图旨在滚动其文档视图的整个长度。为什么要让它随着内容视图的大小而改变大小?
标签: cocoa resize nsscrollview autolayout