【发布时间】:2016-12-22 07:01:42
【问题描述】:
我有一个NSWindow 实例,它有一个setupUi 方法。
-(void) setupUi {
NSView* subView = [[NSView alloc] initWithFrame:NSZeroRect];
subView.wantsLayer = YES;
subView.layer.backgroundColor = [[NSColor greenColor] CGColor];
[self.contentView addSubview:subView];
[self.contentView setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.contentView
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:subView
attribute:NSLayoutAttributeLeading
multiplier:1
constant:0]];
[self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.contentView
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:subView
attribute:NSLayoutAttributeTop
multiplier:1
constant:0]];
[self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.contentView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:subView
attribute:NSLayoutAttributeTrailing
multiplier:1
constant:0]];
[self.contentView addConstraint:[NSLayoutConstraint constraintWithItem:self.contentView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:subView
attribute:NSLayoutAttributeBottom
multiplier:1
constant:0]];
}
当我调用[self.contentView hasAmbiguousLayout] 时,它返回YES。为什么会这样?这段代码 sn-p 似乎与 Xib 在使用 pin panel 时为我们创建的代码相同。
并且窗口中没有出现绿色的子视图。
提前致谢。
【问题讨论】:
标签: objective-c macos constraints