Как отобразить значок авторского права в тексте UILabel?

Кто-нибудь знает, как отобразить значок авторского права в тексте UILabel? Это значок с кружком вокруг c. Его HTML-код: © или ©.

Я пробовал следующий код:

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

or

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

or

contactInfo.text = @"©2009 Nationwide ";

Он просто печатает все как текст и без значков.

Это будет работать в webView, но мне это нужно как текст UILabel. Любая помощь?


person Neeraj    schedule 23.10.2009    source источник
comment
HTML-код - это «& копировать» без пробела или «& # 169;»   -  person Neeraj    schedule 23.10.2009
comment
Вы пробовали юникод? Это 169   -  person Bostone    schedule 23.10.2009


Ответы (6)


Если ваши исходные файлы находятся в UTF-8, какими они должны быть, это должно работать нормально. В противном случае вам следует использовать .strings-файлы в сочетании с макросом NSLocalizedString () и поместить свой текст в файлы UTF-16.

У меня работает: myUILabel.text = @"© by me";

© by me
(источник: hillrippers.ch)

Изменить: Теперь, когда я вижу, что вы пытались вставить символ как объект HTML - это не работает, просто вставьте символ в том виде, в каком он появляется.

person Pascal    schedule 23.10.2009

В построителе интерфейса попробуйте вместе Option и G.

Если у вас нет клавиши Option, попробуйте использовать ALT.

person JoePasq    schedule 23.10.2009

Другой способ вставки символов, не обращаясь к кодировке символов ваших исходных файлов, - это закодировать их как байты UTF-8 с использованием \x escape-символов.

Согласно Fileformat.info, знак авторских прав в UTF-8 байтов - 0xC2 0xA9.

Итак, это работает: @"\xC2\xA9 Nationwide"

Вот как я все свое делаю.

person Marco    schedule 23.10.2009

Скопируйте и вставьте символ авторского права прямо в исходный код.

person dave4420    schedule 23.10.2009

Обычно не рекомендуется пропускать через компилятор строки, отличные от ASCII. Таким образом, подход UTF-8 лучше, если он не читается. Вы могли бы использовать

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

а затем файл .strings с

copyright = "©2009";

было бы намного проще обобщить на другие строки, отличные от ASCII.

(Кстати, это option + g, а не option + c.)

person David Dunham    schedule 26.10.2009

Из 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);
person Suresh Durishetti    schedule 19.09.2014