2009-05-29 8 views
0

J'essaie de trouver une meilleure façon de mettre en œuvre la capacité d'édition d'image montrée dans l'application du carnet d'adresses natif sur iPhone.iPhone dev: ajouter une étiquette superposée à l'image

Sur le haut-carnet d'adresses, voici comment l'image ressemble avant l'édition:

qkpic.com/2f7d4 http://qkpic.com/2f7d4

Et après avoir cliqué sur Modifier, remarquez comment overlay « Edition » est ajoutée et l'image devient cliquable:

qkpic.com/fb2f4 http://qkpic.com/fb2f4

Quelle serait la meilleure façon de mettre en œuvre quelque chose comme ça? Devrais-je faire de l'image un bouton depuis le début et avoir tapoté au début? Si oui, quelles étapes sont nécessaires pour ajouter une superposition/étiquette à l'image (dans l'exemple ci-dessus, bordure grise + le texte "Edit" est ajouté)

Répondre

1

La façon la plus simple est d'utiliser Interface Builder, créer une vue de conteneur, puis ajoutez un UIImageView et un UILabel en tant que sous-vues. Vous devez positionner et styler le texte et l'image, mais définissez UILabel sur caché. Faites en sorte que la vue du conteneur entier réponde aux touches. C'est facile à faire puisque UIView est dérivé de UIResponder, donc tout ce que vous avez à faire est de surcharger touchEnded. Chaque fois que vous voulez changer l'étiquette de texte, placez UILabel à hidden = NO.

Mais il y a plus à y faire. Remarquez comment l'image a arrondi les coins? Vous devrez remplacer la méthode drawRect de UIImageView pour implémenter une routine de dessin personnalisée pour le faire. Il y a beaucoup d'exemples de code autour et ça ne faisait pas partie de votre question initiale, alors je vais m'arrêter ici.

Questions connexes