iOS8: viewDidLayoutSubviews() 隐藏故事板自动布局中的元素

iOS8: viewDidLayoutSubviews() hides elements in Storyboard Auto-Layout

设置:

我有一个包含 ViewContainer View 的视图控制器。

我已经使用 class 大小设置了 ViewContainer View

下面的代码很好地添加了渐变:

   class ViewController: UIViewController {


    @IBOutlet weak var graphView: UIView!
    @IBOutlet weak var containerView: UIView!
    let backgroundColor = CAGradientLayer().graphViewBackgroundColor()

    override func viewDidLoad() {
        super.viewDidLoad()
   }

    override func viewDidLayoutSubviews() {

        super.viewDidLayoutSubviews()
        backgroundColor.frame = self.graphView.bounds
        self.graphView.layer.addSublayer(backgroundColor)

    }
}

输出:

代码中没有任何约束。

问题:

但是,我确实有一个黑色背景的标签没有出现。如果我注释掉以下行,则会出现标签:

    //backgroundColor.frame = self.graphView.bounds
    //self.graphView.layer.addSublayer(backgroundColor)

输出:

问题:

为什么渐变隐藏了自动布局中的 UILabel 元素?

你试过把标签放在前面吗?

graphView.bringSubviewToFront(label)