J'ai un transparent supprimer UIButton
ajouté à une scène de story-board, qui a une image comme arrière-plan, et j'ai ajouté quelques contraintes de mise en page automatique. Je voulais que l'arrière-plan du bouton soit UIVisualEffectView
, donc je pensais à ajouter la vue à l'endroit où se trouve le bouton, puis à enlever le bouton et à le rajouter afin qu'il soit au-dessus du UIVisualEffectView
. Question 1) est-ce une bonne idée - ou devrais-je trouver la position dans la hiérarchie de la vue et le placer à un niveau avant le bouton?Ajout d'un UIVisualEffectView au bouton
Voici ce que j'ai jusqu'ici. pour le UIButton
:
@IBOutlet weak var delete: UIButton! {
didSet {
let borderAlpha = CGFloat(0.7)
let cornerRadius = CGFloat(5.0)
delete.setTitle("Delete", forState: UIControlState.Normal)
delete.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
delete.backgroundColor = UIColor.clearColor()
delete.layer.borderWidth = 1.0
delete.layer.borderColor = UIColor(white: 1.0, alpha: borderAlpha).CGColor
delete.layer.cornerRadius = cornerRadius
}
}
et pour la UIVisualEffectView
:
override func viewDidLoad() {
super.viewDidLoad()
let visualEffectView = UIVisualEffectView(effect: UIBlurEffect(style: .Light))
visualEffectView.frame = delete.frame
visualEffectView.bounds = delete.bounds
view.addSubview(visualEffectView)
}
ce produit une vue floue, la même taille que le bouton, mais pas au-dessus du bouton. Question 2) Est-ce que je dois aussi réussir les contraintes de mise en page automatique?
merci d'avance pour toute aide.
Juste outrepasser viewDidLayoutSubViews dans le contrôleur ou layoutSubviews et le cadre fixé des couches en conséquence. Cela devrait réparer. – Sandeep
L'image floue devrait être assez facile. Utilisez simplement la même astuce que ci-dessus, ajoutez plutôt une vue et une imageView à UIVisualeffectView. – Sandeep
génial! merci beaucoup – Alex