13

有谁知道如何在 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 文本。有什么帮助吗?

4

6 回答 6

30

在界面生成器中尝试OptionG在一起。

如果您没有Option密钥,请尝试使用ALT.

于 2009-10-23T16:58:45.057 回答
12

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

为我工作:myUILabel.text = @"© by me";

©我
(来源:hillrippers.ch

编辑: 现在我看到您已尝试将符号作为 HTML 实体插入 - 这不起作用,只需在符号出现时插入它。

于 2009-10-23T16:59:06.630 回答
7

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

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

所以这有效:@"\xC2\xA9 Nationwide"

这就是我所做的一切。

于 2009-10-23T20:09:58.603 回答
5

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

于 2009-10-23T17:00:11.700 回答
1

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

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

然后是一个 .strings 文件

copyright = "©2009";

推广到其他非 ASCII 字符串会容易得多。

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

于 2009-10-26T05:21:12.337 回答
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);
于 2014-09-19T10:33:31.360 回答