>使文档视图至少与剪辑视图一样高.或者,等效地使剪辑视图不高于文档视图.
>允许文档视图在高度上增长,但不会超出其子视图所需的范围.
>通过使用低优先级约束来防止文档视图中的歧义,以使其在给定其他约束的情况下尽可能小.
因此,例如,剪辑视图的底部和文档视图的底部之间应该存在约束,但它应该是不等式:SupervIEw.Bottom< = document VIEw.Bottom. (或者,等效地,document VIEw.Bottom> = SupervIEw.Bottom.)
在文档视图中,您可能在底部有一些文本字段或某些内容,以及它与文档视图底部之间的约束.使该约束成为不等式:SupervIEw.Bottom> = Text FIEld.Bottom标准间距.
这将导致文档视图的高度模糊不清.它可以是足够大的任何尺寸以适合其所有子视图.添加高度约束.将其优先级设置为51并将其常量设置为0.也就是说,它希望使视图具有0高度,但是处于非常低的优先级,因此几乎任何其他东西都将取代它.但它解决了模棱两可的问题.
如果要允许水平滚动,则需要在水平方向上执行相同的常规 *** 作.
更新:
还有另一种方法.在文档视图中配置约束以赋予其严格的大小(无不等式).这通常是从顶部到顶部子视图的约束链,从子视图的底部到另一个子视图的顶部等,以及从底部子视图的底部到文档视图的底部.同样导致尾随.
然后,剪辑视图和文档视图之间唯一必要的约束是顶部和前导约束.
如果您在此配置中进行测试,则可以调整大小并滚动滚动视图.所以,这很好.但是,当滚动视图的内容区域高于文档视图时,文档视图将固定到内容区域的底部.在这种情况下,你通常希望它固定在顶部.
原因是剪辑视图未翻转.此外,它正在调整其边界以匹配文档视图.因此,即使存在将文档视图固定到剪辑视图顶部的约束,剪辑视图的顶部也不是您期望的位置.剪辑视图将文档视图放在(0,0),它位于底部.
因此,最后一部分是创建一个NSClipVIEw的子类,它覆盖-isFlipped以返回YES.然后,将NIB中剪辑视图的类设置为子类.在那之后,它将按你的意愿工作.
总结以上是内存溢出为你收集整理的macos – 使用Interface Builder中的Auto Layout启用NSScrollView滚动其内容全部内容,希望文章能够帮你解决macos – 使用Interface Builder中的Auto Layout启用NSScrollView滚动其内容所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)