在使用自动布局时,是否有一种简单的方法来获取NSScrollVIEw来适应其文档视图更改大小?
我已经尝试调用setNeedsUpdateConstraints:和setNeedsLayout:在文档视图,剪辑视图和滚动视图,没有任何结果.
文档视图的fittingSize报告正确的大小.
问题是,当子视图更改大小时,即使它们调用invalIDateIntrinsicContentSize,文档视图也就不会重新设置子视图.因此,文档视图的内容因为增长而被裁剪成文档视图的原始大小.文档视图在一个nib中创建,并在awakeFromBib方法中设置为滚动视图的文档视图.
我希望在其fitSize更改时自动调整文档视图框,并相应地更新滚动条.
NSPopover做类似的事情 – 只要内容控制器视图的子视图具有正确的约束条件,并且各种内容拥有值足够高(高于隐藏的popover窗口的高限制优先级,一个).
解决方法 问题当然是在添加文档视图时,Cocoa会在视图中自动创建一些硬约束,即将文档视图插入到剪辑视图中.所以答案我自己的问题很简单,只需使用:
// Assume self.docVIEw is an IBOutlet populated with// an NSVIEw subclassself.docVIEw.translatesautoresizingMaskIntoConstraints = NO;
在将文档视图添加到滚动视图之前:
self.scrollVIEw.documentVIEw = self.docVIEw;
现在,由于剪辑视图中文档视图的布局没有自动生成约束,因此您需要显式添加它们.否则,文档视图的内容将仅在滚动视图左上角的内在大小呈现.
@H_419_50@ 总结以上是内存溢出为你收集整理的可可 – 使用自动布局自动生成NSScrollView的文档视图?全部内容,希望文章能够帮你解决可可 – 使用自动布局自动生成NSScrollView的文档视图?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)