Superview没有使用子视图调整大小

时间:2014-05-06 01:26:21

标签: cocoa nsautolayout

我有一个窗口,我可以在其中水平添加两个子视图。在每个子视图中,我放置了一个可变数量的子视图,这些子视图由一个垂直滑块,一个旋转90度的文本字段放在滑块的左边,另一个文本字段放在滑块下面。滑块子视图的约束在代码中完成,父视图都在IB中完成。当我向左侧窗口添加更多滑块视图而不是子视图可以处理其默认大小时,它会水平调整大小并强制窗口的内容视图(和窗口)也水平调整大小。太好了,这就是我想要的。但是如果我添加的滑块子视图比右侧子视图中的滑块子视图更多,它们就会被挤压在一起并且子视图不会像左侧那样展开。我使用转换为支持NSViews而不是UIVews的代码来布局滑块视图:

UIView+AutoLayout 1https://github.com/jrturton/UIView-Autolayout

左右子视图的约束或多或少相同。我无法弄清楚为什么右视图不会像左视图那样调整大小。

以下是演示此问题的示例项目的链接: SliderTest

有人帮我解决这个问题? 另外,我认为我的滑块视图可能会使用一些小问题: 使用setFrame(中心)旋转旋转视图时,顶部,右侧,底部和顶部边缘是沿着相同的边缘保留还是反映旋转视图的新方向? 感谢

1 个答案:

答案 0 :(得分:0)

我发现了问题。窗口的左视图和右边缘之间的约束被固定为233而不是> = 233.我在过去的某个时刻有这个,因为我正在调整约束以实现期望的行为并且忽略了这个通过故障排除过程。