2009-10-23 11 views
10

¿Alguien sabe cómo mostrar el ícono de derechos de autor en el texto UILabel? Este es el ícono con un círculo alrededor de c. El código html para él es: © o ©.¿Cómo mostrar el ícono de derechos de autor en el texto UILabel?

He probado el siguiente código:

UILabel *contactInfo = [[UILabel alloc] initWithFrame:CGRectMake(-55,135,420,100)]; 
contactInfo.text = @"'©):'2009 Nationwide "; 

o

contactInfo.text = @"'©'2009 Nationwide "; 

o

contactInfo.text = @"©2009 Nationwide "; 

Simplemente imprime todo como texto y no hay icono.

Esto funcionaría en una vista web pero lo necesito como texto UILabel. ¿Alguna ayuda?

+0

el código html es 'y copia' sin espacio o '& #169;' – Neeraj

+0

¿Ha intentado Unicode? Es 169 – Bostone

Respuesta

11

Si los archivos de origen están en UTF-8, lo que deberían ser, esto debería funcionar bien. De lo contrario, debería usar .strings-files en combinación con la macro NSLocalizedString() y colocar su texto en los archivos UTF-16.

funciona para mí: myUILabel.text = @"© by me";

© by me http://www.hillrippers.ch/temp/Screen%20shot%202009-10-23%20at%2018.59.40.png

Editar: Ahora que veo que usted ha tratado de insertar el símbolo como entidad HTML - esto no funciona, basta con insertar el símbolo como aparece.

21

En el generador de interfaces intente Opción y G juntos.

Si usted no tiene una clave Opción, tratar con ALT.

+0

funciona en el editor de código también – pbaris

4

Copiar y pegar el símbolo de copyright © directamente en el código fuente.

7

Otra forma de insertar símbolos sin tener en cuenta la codificación de caracteres de los archivos fuente es codificarlos como bytes UTF-8 utilizando \x escapes.

Según Fileformat.info, el signo de copyright en bytes UTF-8 es 0xC2 0xA9.

Así funciona esto: @"\xC2\xA9 Nationwide"

Así es como lo hago todos los míos.

1

Por lo general, no es una gran idea para poner las cadenas que no son ASCII a través del compilador. El enfoque UTF-8 es, por lo tanto, mejor, si no se puede leer. Se podría utilizar

NSLocalizedString(@"copyright", @""); 

y luego presentar una .strings con

copyright = "©2009"; 

sería mucho más fácil generalizar a otras cadenas que no son ASCII.

(Por cierto, es la opción + g, no la opción + c.)

1

Desde iOS6> podemos usar el concepto NSAttributedString. Por favor, mira el siguiente fragmento de código. Por favor ignore si alguien ya está enterado de esto.

static NSString *html = 
    @"<html>" 
    " <body>Here is copyright &copy; </i></body>" 
    "</html>"; 

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 280, 300, 200)]; 
    NSError *err = nil; 
    label.attributedText = 
    [[NSAttributedString alloc] 
    initWithData: [html dataUsingEncoding:NSUTF8StringEncoding] 
    options: @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } 
    documentAttributes: nil 
    error: &err]; 
    if(err) 
     NSLog(@"Unable to parse label text: %@", err); 
Cuestiones relacionadas