2009-10-23 9 views
10

Kann jemand das Copyright-Symbol in UILabel Text anzeigen? Dies ist das Symbol mit einem Kreis um c. Der HTML-Code dafür lautet: © oder ©.Wie wird das Copyright-Symbol in UILabel-Text angezeigt?

Ich habe versucht, den folgenden Code:

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

oder

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

oder

contactInfo.text = @"©2009 Nationwide "; 

Er druckt einfach alles als Text und kein Symbol.

Dies würde in einem WebView funktionieren, aber ich brauche es als UILabel Text. Irgendwelche Hilfe?

+0

der HTML-Code ist '& copy' ohne Raum oder '& #169;' – Neeraj

+0

Sie Unicode versucht haben? Es ist 169 – Bostone

Antwort

11

Wenn Ihre Quelldateien in UTF-8 sind, was sie sein sollten, sollte dies gut funktionieren. Andernfalls sollten Sie .strings-Dateien in Kombination mit dem NSLocalizedString() - Makro verwenden und Ihren Text in UTF-16-Dateien einfügen.

Werke für mich: myUILabel.text = @"© by me";

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

Edit: Nun, da ich sehe, dass Sie das Symbol als HTML-Entität einzufügen habe versucht - das ist nicht nur das Symbol einfügen funktioniert wie es erscheint.

21

In der Schnittstelle Builder versuchen Option und G zusammen.

Wenn Sie keine Option Schlüssel haben, versuchen Sie mit ALT.

+0

funktioniert auch im Code-Editor – pbaris

4

Kopieren Sie das Copyright-Symbol © und fügen Sie es direkt in Ihren Quellcode ein.

7

Eine weitere Möglichkeit, Symbole einzufügen, ohne sich mit der Zeichencodierung Ihrer Quelldateien zu befassen, besteht darin, sie als UTF-8-Byte mit \x Escapezeichen zu codieren.

Gemäß Fileformat.info ist das Copyright-Zeichen in UTF-8 Bytes 0xC2 0xA9.

So funktioniert das: @"\xC2\xA9 Nationwide"

Das ist, wie ich alles von mir zu tun.

1

Es ist normalerweise keine gute Idee, Nicht-ASCII-Strings durch den Compiler zu setzen. Der UTF-8-Ansatz ist daher besser, wenn er nicht lesbar ist. Sie könnten

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

verwenden und dann ein .strings mit

copyright = "©2009"; 

viel einfacher wäre Datei auf andere Nicht-ASCII-Zeichenketten zu verallgemeinern.

(BTW, es ist Option + g, nicht Option + c.)

1

Von iOS6> können wir NSAttributedString Konzept verwenden. Bitte beachten Sie das folgende Code-Snippet. Bitte ignorieren Sie, wenn dies bereits jemandem bekannt ist.

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); 
Verwandte Themen