2016-01-02 2 views
4

Je suis désireux de faire une UIButton ronde, mais avec un effet de flou léger avec éclat comme il est fondSwift: Round UIButton avec un fond flou

Jusqu'à présent, j'ai un UIButton arrondi, mais le code j'ai trouvé en ligne (Je suis novice dans le développement iOS, donc je ne comprends pas vraiment comment fonctionne le flou.) Pour ajouter un flou, il suffit de le mettre dans le cadre de l'ensemble du bouton, ce qui fait que le bouton apparaît de nouveau carré.

J'ai également essayé d'ajouter une vue, puis l'UIButton puis l'effet de flou et j'ai appliqué le code cornerRadius à cette vue mais cela n'a pas fonctionné non plus.

Voici ce que j'ai essayé:

shortcutButton.layer.cornerRadius = 0.5 * shortcutButton.bounds.size.width // add the round corners in proportion to the button size 

    let blur = UIVisualEffectView(effect: UIBlurEffect(style: 
     UIBlurEffectStyle.Light)) 
    blur.frame = shortcutButton.bounds 
    blur.userInteractionEnabled = false //This allows touches to forward to the button. 
    shortcutButton.insertSubview(blur, atIndex: 0) 

Répondre

5

Ajouter les deux lignes de code suivantes à votre projet, avant d'ajouter le sous-vue:

blur.layer.cornerRadius = 0.5 * shortcutButton.bounds.size.width 
blur.clipsToBounds = true 

Amusez-vous! :)

+0

Incroyable! Merci de votre aide. Je pense que je comprends maintenant :) Que diriez-vous de rendre le Blur "vibrant"? – Rs2845

+0

@ Rs2845 Cela devrait fonctionner de la même manière. – Joshua