2010-02-02 7 views
12

Existe-t-il un moyen évident de créer une zone de saisie de texte dont les bords sont arrondis?Saisie de texte iPhone avec bords arrondis

Je ne parle pas de définir un borderStyle d'UITextField à UITextBorderStyleRoundedRect. Cela ne me donne que des coins arrondis. Je veux parler du champ de texte de style utilisé comme entrée dans l'application SMS (avant que vous n'appuyiez sur envoyer), ou l'UISearchBar. Je l'ai également vu utilisé dans des applications tierces (par exemple, la zone de saisie de commentaires dans l'application Facebook). Est-ce possible en utilisant le standard Cocoa Touch? Ou dois-je apporter mes propres images de fond à la table?

Répondre

20

Vous pouvez également définir le rayon d'angle sur le champ de texte, ce qui pourrait vous donner un contrôle suffisant pour obtenir le look que vous voulez:

textField.layer.cornerRadius = 10; 

Assurez-vous d'inclure #import <QuartzCore/QuartzCore.h> pour y accéder.

(la réponse ci-dessus, il probablement une meilleure réponse, ce qui pourrait bien être plus facile)

+0

C'est tellement bon. Mais je ne pouvais que changer le coin de UITextField mais UITextView. Est-ce applicable à UITextField? – KatokichiSoft

+0

Oui, cela fonctionne sur tout ce qui est dérivé de UIView. Quand vous dites que vous ne pouvez pas le faire fonctionner, que voulez-vous dire? Il ne compile pas, ou il n'a aucun effet visible? Si la seconde, définissez-vous le borderStyle sur le UITextField? Cela a réussi à passer outre quand je l'ai fait. – justin

+0

J'ai trouvé que c'était très computationnel avec 15 grands champs de texte tous dans des cellules, chacune avec des coins arrondis, tout en défilant continuellement. – oberbaum

2

Je pense que la façon la plus simple de faire cela est d'utiliser un arrière-plan personnalisé. Here est une vue d'ensemble complète de l'API de la classe UITextField.

5

pour la saisie de texte iPhone avec des bords arrondis,

  1. comprennent - #import <QuartzCore/QuartzCore.h> pour accéder à cette

  2. textField.layer.cornerRadius = 10;

thi s est le moyen le meilleur et le plus simple pour faire le bord arrondi du UITextField.

Questions connexes