UILabelテキストに著作権アイコンを表示するにはどうすればよいですか?
-
06-07-2019 - |
質問
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 テキストとして必要です。何か助けはありますか?
解決
ソース ファイルが UTF-8 である必要がある場合、これは問題なく動作するはずです。それ以外の場合は、.strings-files を NSLocalizedString() マクロと組み合わせて使用し、テキストを UTF-16 ファイルに入れる必要があります。
私にとってはうまくいきます: myUILabel.text = @"© by me";
(ソース: ヒルリッパーズch)
編集:シンボルを HTML エンティティとして挿入しようとしたことがわかりました。これは機能しません。表示されたとおりにシンボルを挿入するだけです。
他のヒント
インターフェイスビルダーで、 Option と G を一緒に試してください。
Option キーがない場合は、 ALT を試してください。
ソースファイルの文字エンコードを処理せずにシンボルを挿入する別の方法は、 \ x
エスケープを使用してUTF-8バイトとしてエンコードすることです。
Fileformat.info によると、著作権サインインUTF-8バイトは0xC2 0xA9です。
これは機能します: @" \ xC2 \ xA9 Nationwide"
それが私のすべてのやり方です。
著作権記号©をコピーして貼り付けますソースコードに直接。
通常、非ASCII文字列をコンパイラに挿入するのは良い考えではありません。したがって、判読できない場合、UTF-8アプローチの方が優れています。使用できます
NSLocalizedString(@"copyright", @"");
そして.stringsファイルと
copyright = "©2009";
他の非ASCII文字列に一般化する方がずっと簡単です。
(ところで、option + cではなく、option + gです。)
iOS6から> NSAttributedStringコンセプトを使用できます。以下のコードスニペットをご覧ください。すでにこれを知っている人は無視してください。
static NSString *html =
@"<html>"
" <body>Here is copyright © </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);