如何在UILabel文本中显示版权图标?

时间:2009-10-23 16:55:10

标签: iphone icons special-characters uilabel

是否有人知道如何在UILabel文本中显示版权图标?这是c周围有一个圆圈的图标。它的html代码是:©©

我尝试了以下代码:

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

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

contactInfo.text = @"©2009 Nationwide ";

它只是将所有内容打印为文本而不是图标。

这可以在webView中使用,但我需要它作为UILabel文本。 有什么帮助吗?

6 个答案:

答案 0 :(得分:27)

在界面构建器中,一起尝试 Option G

如果您没有 Option 键,请尝试 ALT

答案 1 :(得分:11)

如果您的源文件是UTF-8,它们应该是什么,这应该可以正常工作。否则,您应该将.strings-files与NSLocalizedString()宏结合使用,并将文本放入UTF-16文件中。

适合我:myUILabel.text = @"© by me";

© by me
(来源:hillrippers.ch

编辑: 现在,我发现您已尝试将符号作为HTML实体插入 - 这不起作用,只需插入符号即可。

答案 2 :(得分:7)

在不处理源文件字符编码的情况下插入符号的另一种方法是使用\x转义将它们编码为UTF-8字节。

根据Fileformat.info,UTF-8字节的版权符号为0xC2 0xA9。

这样可行:@"\xC2\xA9 Nationwide"

我就是这样做的。

答案 3 :(得分:4)

将版权符号©直接复制并粘贴到源代码中。

答案 4 :(得分:1)

通过编译器放置非ASCII字符串通常不是一个好主意。如果不可读,UTF-8方法更好。你可以用

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

然后是带有

的.strings文件
copyright = "©2009";

将更容易推广到其他非ASCII字符串。

(顺便说一句,它是选项+ g,不是选项+ c。)

答案 5 :(得分:1)

从iOS6>我们可以使用NSAttributedString概念。请参阅以下代码段。如果有人已经意识到这一点,请忽略。

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