Autolayout子视图驻留在单独的xib中

时间:2015-03-14 10:21:43

标签: objective-c xcode cocoa autolayout

除了标题所说的

  1. 主窗口左侧有一个容器视图,调用此mainContainerView(绿色背景)
  2. 在第二个.xib中我有一个NSTableView设置 - 称之为Second.xib(红色背景)
  3. 在MainViewController.m中,我添加了Second.xib中定义的NSTableView 并将约束设置为以下
  4. [_mainContainerView addConstraint:[NSLayoutConstraint constraintWithItem:_mainContainerView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:self.second.view attribute:NSLayoutAttributeBottom multiplier:1 constant:0]];

    正如您在屏幕截图中看到的那样,当我调整窗口大小时,红色背景不会跟随主容器视图。你知道为什么会这样吗?

    On startup before resizing After resizing

    编辑+解决

    为了解决这个错误,我不得不为宽度/高度设置约束。我还为superview添加了顶部/底部对齐的约束。 After removing translationmask

1 个答案:

答案 0 :(得分:1)

我更愿意:

[_mainContainerView addConstraint:[NSLayoutConstraint constraintWithItem:self.second.view attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:_mainContainerView attribute:NSLayoutAttributeBottom multiplier:1.f constant:0.f]];