2011-12-16 11 views
11

Estoy usando algunas etiquetas en una vista. Quiero hacer una etiqueta de esquina redondeada en mi aplicación de iPhone. Uso el siguiente código para hacer esto, pero no funciona. Tengo algunos errores para usar esas propiedades.Cómo usar la etiqueta de esquina redondeada en iphone, UILabel Round Corners

label.layer.borderColor = [UIColor blueColor].CGColor; 
label.layer.borderWidth = 4.0; 
label.layer.cornerRadius = 8; 
+0

¿Qué hay de poner una imagen como fondo de la esquina redondeada de la UILabel ?? – Sarah

+0

Posible duplicado de [¿Cómo creo una UILabel acorralada en el iPhone?] (Http://stackoverflow.com/questions/510382/how-do-i-create-a-round-cornered-uilabel-on-the -iphone) – Besi

Respuesta

11

Es difícil saber con certeza lo que está preguntando, ya que no incluyó los errores que está recibiendo. ¿Ha agregado el marco QuartzCore a su proyecto y #import <QuartzCore/CALayer.h> al archivo que modifica la capa? Si eso no es todo, agregue los errores y más información a su pregunta.

EDITAR: también puede #import <QuartzCore/QuartzCore.h> como se sugiere en los comentarios. QuartzCore.h incluye CALayer.h junto con el resto de los componentes QuartzCore.

+0

esta es la respuesta correcta. – Rog

+0

+1) importando #import eliminará todos estos tipos de errores. – Ishu

+0

@Xjones gracias :) –

1

me gustaría crear una vista con las esquinas redondeadas y añadir la etiqueta a esa vista.

13

Sólo tiene que añadir #import <QuartzCore/QuartzCore.h> en su archivo .m

y suponga que tiene un UILabel *myLabel;

acaba de hacer [myLabel.layer setCornerRadius:20]; // valor '20' se puede cambiar de acuerdo a su deseo :)

+0

@ Ajeet gracias. –

+1

puede votar o marcar como respuesta correcta. será bueno para otras personas que tengan el mismo problema que el suyo, y puede referir su publicación SO. Gracias –

+4

Solo un consejo (tuve que agregar esta línea para que funcione): myLabel.layer.masksToBounds = YES; – santuxus

16

estaba pasando el mismo problema, usando un UILabel con backgroundColor en una célula, y añadió que esto funcione correctamente:

label.layer.cornerRadius=8.0; 
label.clipsToBounds=YES; 
3

esta si código MPLE suficiente para RoundLabel

LabelName.layer.cornerRadius = LableName.frame.size.height/2; 
LabelName.layer.masksToBounds = YES; 
Cuestiones relacionadas