Uilabel 텍스트에 저작권 아이콘을 표시하는 방법은 무엇입니까?
-
06-07-2019 - |
문제
Uilabel 텍스트에서 저작권 아이콘을 표시하는 방법을 아는 사람이 있습니까? 이것은 주위에 원이있는 아이콘입니다. HTML 코드는 다음과 같습니다. ©
또는 ©
.
다음 코드를 시도했습니다.
UILabel *contactInfo = [[UILabel alloc] initWithFrame:CGRectMake(-55,135,420,100)];
contactInfo.text = @"'©):'2009 Nationwide ";
또는
contactInfo.text = @"'©'2009 Nationwide ";
또는
contactInfo.text = @"©2009 Nationwide ";
그것은 단지 모든 것을 텍스트와 아이콘으로 인쇄합니다.
이것은 웹 뷰에서 작동하지만 Uilabel 텍스트로 필요합니다. 도움이 있습니까?
해결책
소스 파일이 UTF-8에 있으면 무엇이 있어야하는지, 이것은 제대로 작동해야합니다. 그렇지 않으면 nslocalizedstring () 매크로와 함께 .strings-files를 사용하고 텍스트를 UTF-16 파일에 넣어야합니다.
나를 위해 일 : myUILabel.text = @"© by me";
(원천: Hillrippers.ch)
편집하다:이제 기호를 HTML 엔티티로 삽입하려고 시도한 것을 알았으므로 작동하지 않으므로 기호를 표시하는대로 삽입하십시오.
다른 팁
인터페이스 빌더에서 시도하십시오 옵션 그리고 G 함께.
당신이 없다면 옵션 키, 함께 시도하십시오 대체.
소스 파일의 문자 인코딩을 처리하지 않고 기호를 삽입하는 또 다른 방법은 UTF-8 바이트로 인코딩하는 것입니다. \x
탈출.
에 따르면 fileformat.info, UTF-8 바이트의 저작권 표시는 0xc2 0xa9입니다.
그래서 이것은 작동합니다 : @"\xC2\xA9 Nationwide"
그것이 내가 모든 일을하는 방법입니다.
저작권 기호 ©를 소스 코드에 직접 복사하여 붙여 넣습니다.
일반적으로 컴파일러를 통해 비 ASCII 문자열을 넣는 것은 좋은 생각이 아닙니다. 따라서 읽을 수없는 경우 UTF-8 접근법이 더 좋습니다. 당신은 사용할 수 있습니다
NSLocalizedString(@"copyright", @"");
그런 다음 .strings 파일을 사용합니다
copyright = "©2009";
다른 비 ASCII 문자열로 일반화하기가 훨씬 쉽습니다.
(btw, 옵션 + g, 옵션 + g입니다 c.)
iOS6에서> 우리는 nsattripedstring 개념을 사용할 수 있습니다. 아래 코드 스 니펫을 참조하십시오. 이미 알고 있다면 무시하십시오.
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);