快速正确使用sendSubview(toBack:)函数

时间:2019-01-21 06:22:21

标签: ios swift

使用这行代码,我想在UIView之后创建一个新的UILabel。但它不起作用。 myNewView总是在headerTitleLabel之上,而我希望它在标签后面。 我该怎么办?

    let myNewView = UIView()
    myNewView.backgroundColor = UIColor(red: 0.815, green: 0.956, blue: 0.941, alpha: 1)
    myNewView.translatesAutoresizingMaskIntoConstraints = false
    self.headerTitleLabel.addSubview(myNewView)
    self.headerTitleLabel.sendSubview(toBack: myNewView)

    myNewView.centerXAnchor.constraint(equalTo: self.headerTitleLabel.centerXAnchor).isActive = true
    myNewView.centerYAnchor.constraint(equalTo: self.headerTitleLabel.centerYAnchor, constant: 6).isActive = true
    myNewView.widthAnchor.constraint(equalTo: self.headerTitleLabel.widthAnchor, multiplier: 1.08, constant: 0).isActive = true
    myNewView.heightAnchor.constraint(equalTo: self.headerTitleLabel.heightAnchor, multiplier: 0.7, constant: 0).isActive = true

2 个答案:

答案 0 :(得分:2)

您需要改用insertSubView(view: ,belowSubView:)方法。 您可以在myNewView的{​​{1}}上添加headerTitleLabel

superView

答案 1 :(得分:0)

请尝试此操作可能会对您有所帮助。

myNewView中添加main view

self.view.addSubview(myNewView)

然后在label中添加myNewView

 myNewView.addSubview(headerTitleLabel)

它可能会帮助您。谢谢。