Stack View未以编程方式添加为子视图

时间:2017-10-18 14:07:10

标签: ios swift subview uistackview

我在stackview中添加了一系列按钮,我需要在另一个parentStackView的子视图中添加这个stackView。 这是我的代码:

        let innerStackView = UIStackView(arrangedSubviews: buttonViews(withTitleArray: buttonTitleArray, numberArray: ButtonTagArray))
        innerStackView.backgroundColor = UIColor.green
        innerStackView.axis = .vertical
        innerStackView.distribution = .fillEqually
        innerStackView.alignment = .fill
        innerStackView.spacing = 5
        innerStackView.translatesAutoresizingMaskIntoConstraints = false
        mainView.bottomView.backgroundColor = UIColor.red
        mainView.bottomView.addSubview(innerStackView)
        NSLayoutConstraint.activate([
            mainView.leadingAnchor.constraint(equalTo: innerStackView.leadingAnchor),
            mainView.trailingAnchor.constraint(equalTo: innerStackView.trailingAnchor),
            mainView.widthAnchor.constraint(equalTo: innerStackView.widthAnchor),
            mainView.heightAnchor.constraint(equalTo: innerStackView.heightAnchor)])
       mainView.alpha = 1
        mainView.clipsToBounds = true
        parentstackView.addArrangedSubview(mainView)
        self.view.layoutIfNeeded()

问题是即使我可以在parentStackView中看到mainView,内部stackview也不可见。我似乎无法理解为什么?

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

好的,所以我无法以编程方式找到解决方案,我最终在界面构建器中创建bottomView并在约束的帮助下将其与mainview绑定。这样做了对我而言。