Stackview不附加第二个视图

我以编程方式创build了一个堆栈视图,并且添加了一个我已经以编程方式创build的视图。 但是,当我尝试添加第二个视图不起作用。 这是我的代码:

@IBOutlet weak var codingScrollView: UIView! let codeStackView = UIStackView() var codeViews = [CodeView]() let codeView1 = CodeView(name: "Lennart", date: "13/05/2002", code: "Just some code") let codeView2 = CodeView(name: "Nina", date: "01/07/1999", code: "Also some code") 

codingScrollView是我添加到UIScrollView的contentview。 codeStackView是我之前描述的codeViews数组正在被用来添加视图到stackview。

这里是viewDidLoad方法:

  codeViews.append(codeView1) codeViews.append(codeView2) codingScrollView.addSubview(codeStackView) codingScrollView.backgroundColor = UIColor(red: 226/255, green: 226/255, blue: 226/255, alpha: 1) codeStackView.centerXAnchor.constraint(equalTo: codingScrollView.centerXAnchor) codeStackView.centerYAnchor.constraint(equalTo: codingScrollView.centerYAnchor) codeStackView.translatesAutoresizingMaskIntoConstraints = false codeStackView.spacing = 10 codeStackView.axis = .horizontal codeStackView.alignment = .center for i in 0...codeViews.count - 1 { codeStackView.addSubview(codeViews[i]) codeStackView.addArrangedSubview(codeViews[i]) } 

但是如果我运行的应用程序不会显示第二个视图,它只显示其中之一。

非常感谢,我真的很感激任何帮助

尝试将codeView {1,2}添加到堆栈视图,然后将codeStackView添加到codingScrollView

此外,请务必在执行任何约束之前设置codeStackView.translatesAutoresizingMaskIntoConstraints = false

 codeViews.append(codeView1) codeViews.append(codeView2) for i in 0...codeViews.count - 1 { codeStackView.addSubview(codeViews[i]) codeStackView.addArrangedSubview(codeViews[i]) } codeStackView.translatesAutoresizingMaskIntoConstraints = false codeStackView.centerXAnchor.constraint(equalTo: codingScrollView.centerXAnchor) codeStackView.centerYAnchor.constraint(equalTo: codingScrollView.centerYAnchor) codeStackView.spacing = 10 codeStackView.axis = .horizontal codeStackView.alignment = .center codingScrollView.addSubview(codeStackView) codingScrollView.backgroundColor = UIColor(red: 226/255, green: 226/255, blue: 226/255, alpha: 1)