2

我正在使用带有 NSSpliView 的自动布局,设置如下图所示

拆分视图在一个可以调整大小的窗口中,当它调整大小时,分隔线以 50:50 的比例变化,如何改变这个,使底视图的高度保持不变,顶视图的大小得到调整(但不超过 124px ) 但仍然可以通过拖动拆分来手动更改它?

在此处输入图像描述

4

1 回答 1

7

回顾一下你有三个要求,

  1. 底部视图在调整大小时保持相同大小

    如果顶视图降低持有优先级(选择 NSSplitView 以获得正确的检查器)

    保持

  2. 顶视图不能调整超过 124 像素

    添加一个不等式约束,将视图的高度设置为小于或等于 124px。您可以在 IB 中执行此操作。为下一步在控制器类的自定义视图中为此约束创建一个 IBOutlet 也是一个好主意...

  3. 当分隔线移动时,顶视图应该能够小于 124px。

    我不完全确定,但请检查 NSSplitView 委托方法,例如splitView:resizeSubviewsWithOldSize:or splitViewDidResizeSubviews:。当您使用分隔线调整大小时,委托方法应将高度约束覆盖为当前调整大小的大小。所以委托方法中的内容如下

    self.heightConstant.constant = NSHeight(topView)

    或者您可以删除约束,稍后在需要时重新添加。

于 2014-03-20T12:12:48.170 回答