iOS8:viewDidLayoutSubviews()隐藏了Storyboard Auto-Layout中的元素

时间:2015-07-01 22:54:30

标签: swift ios8 autolayout

设定:

我有一个由ViewContainer View组成的视图控制器。

我已使用班级大小设置了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)

    }
}

输出:

enter image description here

代码中没有任何限制。

问题:

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

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

输出:

enter image description here

问题:

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

1 个答案:

答案 0 :(得分:1)

您是否尝试过将标签贴在前面?

graphView.bringSubviewToFront(label)