Donc, j'ai un bouton que j'ai ajouté dans main.Storyboard, avec un arrière-plan principal pour la vue, puis dans le fichier viewController.Swift, j'ai créé une forme de rectangle UIView que je veux asseoir derrière ce bouton (en tant que fond pour cela).
Le problème, c'est que lorsque j'ai ajouté le rectangle UIView, il l'a toujours ajouté devant le bouton. J'ai donc fait des recherches en ligne et trouvé le code sendSubviewToBack. J'ai ajouté ceci dans, mais il l'envoie complètement derrière l'arrière-plan principal de la vue UIImage.
Y a-t-il un moyen de simplement envoyer cette UIView derrière le bouton mais devant le fond UIImage?
func nextBarDisplayed() {
let theHeight = self.view.frame.height
nextBar.backgroundColor = UIColor(red: 7/255, green: 152/255, blue: 253/255, alpha: 0.5)
nextBar.frame = CGRect(x: 0, y: theHeight - 50, width: self.view.frame.width, height: 50)
self.view.insertSubview(nextBar, aboveSubview: myBackgroundView)
}
De Documentation Apple :
bringSubviewToFront(_:)
sendSubviewToBack(_:)
removeFromSuperview()
insertSubview(_:atIndex:)
insertSubview(_:aboveSubview:)
insertSubview(_:belowSubview:)
exchangeSubviewAtIndex(_:withSubviewAtIndex:)
Vous pouvez amener votre barre à l'avant en utilisant:
view.bringSubviewToFront(nextBar)
Vous envoyez votre vue à l’arrière du bar en utilisant:
nextBar.view.sendSubviewToBack(myView)
Pour Swift 4:
self.view.sendSubview(toBack: myView)