Créer un bouton cercle dans iOS7 sans images
Je voudrais recréer la circulaire boutons de l'application Horloge dans iOS7. Les boutons sont essentiellement des cercles avec un aspect différent selon les états du bouton (bordure verte, bordure rouge, fond gris).
Je pourrais bien sûr réaliser cela à l'aide d'un simple UIButton avec des images pour les différents états.
Cependant, je suis à la recherche d'une solution qui se dessine le cercle de la programmation, donc je peux facilement changer le rayon, la largeur du trait, etc.
Aussi loin que je peux voir UIButton seulement me permet de définir une UIImage pour chaque état, de sorte que je ne peux pas modifier les couches par l'état directement (par exemple, fournir une couche avec cornerRadius). Est-il une autre voie?
source d'informationauteur henning77
Vous devez vous connecter pour publier un commentaire.
Créer un bouton personnalisé peut être utile.
dans le .h fichier;
dans le .m fichier;
Et de l'avis du contrôleur, appel
[self.myCircleButton drawCircleButton:[UIColor myColor]]
Il ya beaucoup de façons que vous pourriez accomplir ceci, par exemple:
Utilisation CAShapedLayer
Sous-classe UIView et l'utilisation de la drawRect: méthode pour dessiner un cercle
Juste un carré UIView et l'utilisation de la couche.cornerRadius
de la propriété.
En fonction de vos besoins, quelque chose d'aussi simple que la création d'normal UIButton et de l'appel de
pourrait travailler (vous aurez besoin d'inclure la Quartz Cadre)
Le modèle que j'ai utilisé pour réaliser ce genre de chose, c'est:
Sous-classe
UIButton
et de mettre en œuvredrawRect
pour dessiner le bouton que vous voulez, la personnalisation des couleurs qui se fondent sur laselected
ethighlighted
les propriétés du bouton.Ensuite remplacer
setSelected
etsetHighlighted
pour forcer l'affichage comme suit:Ajouter ce code
où imagePreview est UIview/UIimageview/UIButton
n'oubliez pas d'ajouter
Solution avec une rapide Extension :
Appelez simplement
Peut fonctionner avec tout type de vue, non seulement un bouton
Vous pouvez utiliser cette commande, il est sous-classe de UIButton.
https://github.com/alvaromb/AMBCircularButton
Je pense qu'il du bon travail.
Dans le storyboard, Faire place UIButton (eg. 100 * 100 )
Lien de sortie (par exemple. @property (Forte, nonatomic) UIButton IBOutlet * myButton; )
Dans votre code à écrire ceci:
auto.myButton.la couche.cornerRadius = 50;
//50 est la moitié de la carré de la longueur d'un côté.