我创建了一个自定义的NSTableCellView,其中一些子视图使用Cocoa自动布局对齐。除了我将NSOutlineView(使用自定义NSTableCellView)放置在NSSplitView中之外,没有什么不好的。
当我试图折叠splitView时,就会出现问题,其中自定义NSTableCellView始终无法满足水平约束,详细地说,_imageView和_textField之间由"-"字符指定的边距不应为零长度。
水平约束看起来像:
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_imageView]-[_textField]|"
options:NSLayoutAttributeNotAnAttribute
metrics:nil
views:NSDictionaryOfVariableBindings(_imageView, _textField)]];
有人知道如何使_imageView和_textField之间的边距灵活吗?
您可以使用H:|[_imageView]-(<=8)-[_textField]|
使边距灵活。或者,您可以保留约束,并在需要折叠拆分视图时删除它们