代码之家  ›  专栏  ›  技术社区  ›  Geet

堆栈视图未以编程方式添加为子视图

  •  1
  • Geet  · 技术社区  · 7 年前

    我在stackview中添加了一组按钮,我需要将这个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中看到主视图,但内部stackview不可见。我似乎不明白为什么?

    任何帮助都将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Geet    7 年前

    好的,所以我无法通过编程找到解决方案,我最终做出了 bottomView 并将其与 mainview 在约束的帮助下。这对我来说很管用。