我试图以编程方式向水平堆栈视图添加几个NSTEXT字段,但是StackView只有一个字段可见,并且该字段排列不正确。
for item in ArrayOfStrings { let view = NSTextField() view.stringValue = item stackView.addView(view, in: .leading) }
stackView.addArrangedSubview(view)
在Interface Builder中它似乎工作得很好-添加额外的子视图会自动显示它们并调整它们的大小。
不确定这不仅仅是一个bug,但似乎只需向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 } }