0

我正在尝试以编程方式将一些 NSTextField 添加到水平堆栈视图,但 StackView 只有一个字段可见并且该字段排列不正确。

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

我已经尝试了以下相同的结果

stackView.addArrangedSubview(view)

它似乎在 Interface Builder 中工作正常 - 添加额外的子视图会导致它自动显示它们并调整它们的大小。

4

1 回答 1

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
            }
        }
于 2018-08-10T00:13:08.990 回答