为什么添加到NSStackView时只有一个子视图可见

时间:2018-08-09 06:27:48

标签: nsstackview

我正在尝试以编程方式向水平堆栈视图中添加一些NSTextField,但是StackView只能看到一个字段,并且该字段的排列不正确。

for item in ArrayOfStrings {
    let view = NSTextField()
    view.stringValue = item
    stackView.addView(view, in: .leading)
}

我尝试了以下相同的结果

stackView.addArrangedSubview(view)

它在Interface Builder中似乎可以正常工作-添加其他子视图会自动显示它们并调整其大小。

1 个答案:

答案 0 :(得分:0)

不确定这不仅是一个错误,而且似乎只需向NSTextField添加一个约束即可开始工作。

for item in shelf.activeItems {
            let view = ShelfItemTextField(frame: NSRect.zero)
            view.widthAnchor.constraint(greaterThanOrEqualToConstant: 20.0).isActive = true
            view.stringValue = item.product?.code ?? "-"
            stackView.addView(view, in: .leading)
            if item.isNew {
                view.backgroundColor = Theme.Colors.newProduct
                view.drawsBackground  = true
            }
        }