Comment puis-je créer un gros, rouge UIButton avec iOS?
L'utilisation d'iOS, comment pourrais-je aller sur la création d'un bouton "supprimer" similaire à celui utilisé lors de la suppression des contacts sur l'iPhone?
- Cette question est très proche de la vôtre, et contient un couple de façons de générer une telle couleur du bouton.
- Je l'ai fait récemment aussi, et la création de ce bouton (et certains Monotouch exemple de code pour toute monotouchers): !texte Il a moins d'un biseau qui fonctionne le mieux sur n'importe quel fond, mais ne correspond pas à l'iPhone
UIGlassButton
exactement. - J'ai ajouté quelques images de bouton disponible librement sous la licence MIT sur mon site, qui correspondre plus étroitement à la iOS boutons de verre. (mais ce forum ne me permet pas de poster des images b/c je suis nouveau) À télécharger et un exemple de code, voir: geneticmistakes.com/articles/1000/...
- Voici l'intégralité de l'intégré dans iOS actifs: github.com/pixelfreak/iOS-UI-Assets
Vous devez vous connecter pour publier un commentaire.
Vous commencez avec un élastique d'image:
le texte d'alt http://grab.by/4lP
Il faut ensuite faire un bouton avec l'image redimensionnée comme fond et appliquer le texte.
Évidemment, vous aurez besoin d'ajuster le cadre de l'origine et de la taille de votre application, ainsi que la cible, le sélecteur et le titre.
stretchableImageWithLeftCapWidth:topCapHeight:
a également été supprimé dans la version 5.0, en faveur deresizableImageWithCapInsets:
J'ai aussi fait quelques boutons...rétine et de la non-retina versions
Si vous voulez les utiliser dans une Cellule suffit d'utiliser le code suivant dans cellForRowAtIndexPath:
Je pense que ceux sont les meilleures (et les ils ont l'air bien sur la rétine affichage trop) :
.png généré à partir de cette très belle .fichier psd : http://www.teehanlax.com/blog/2010/08/12/iphone-4-gui-psd-retina-display/
Et ensuite l'utiliser comme un strechable image pour le fond de votre
UIButton
:Probablement la façon la plus simple de le faire est d'accrocher cet iPhone GUI fichier Photoshop qui contient beaucoup d'éléments d'INTERFACE utilisateur dans les couches PSD, puis modifiez la teinte de la grand bouton dans Photoshop et de les enregistrer au format PNG.
Un avantage de cette façon de faire est que vous pouvez également créer des versions pour le bouton sélectionné et/ou de mettre en évidence l'état et associer les images à une norme UIButton.
Vous pouvez créer une section séparée dans vos groupes de vue de la table, donner à cet article une seule ligne, et jeu de la cellule de l'image d'arrière-plan à un dégradé de rouge de l'image. Vous devrez recréer cette image sur votre propre, cependant.
Que je voudrais apporter une solution qui n'utilise pas les images, mais qui donne le même look que le bouton "supprimer" dans les Contacts.
Dans l'exemple ci-dessous, je vais utiliser assume une UITableView avec regroupés, les cellules statiques, conçu dans le storyboard. Faire de l'un des articles n'ont qu'une seule cellule. Cette cellule sera le bouton "supprimer". Donner la cellule d'un rouge couleur de fond (f.e. Rouge 221, Vert 0, Bleu 2)
Ce que nous allons faire est d'ajouter deux GradientLayers de la cellule. La première couvre la moitié supérieure de la cellule. La seconde permettra de couvrir la moitié inférieure.
Ajouter QuartzCore pour votre fichier de mise en oeuvre:
Commencer à faire une sortie de cette cellule:
Créer une méthode dans laquelle la cellule est formatée:
Ci-dessus donnera à votre cellule, le verre ressembler le bouton "supprimer" dans les Contacts.
Mais nous voulons aussi qu'il change de couleur lorsque l'utilisateur appuie sur elle. C'est ce que le dernier morceau de code dans la méthode ci-dessus ne pourra le faire. Il permettra de définir un point de vue différent, une couleur plus foncée que la selectedBackgroundView.
Après avoir appuyé sur la cellule va rester sélectionné et va garder sa couleur foncée. Automatiquement décochez la cellule de nous faire ce qui suit:
Commencer avec une constante qui définit la section n de votre suppression de la cellule:
Maintenant mettre en œuvre la
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
méthode (défini dans UITableViewDelegate):