IT박스

UIWebView에서 사용자 지정 글꼴 사용

itboxs 2021. 1. 11. 07:53
반응형

UIWebView에서 사용자 지정 글꼴 사용


UIWebView 안에 사용자 지정 글꼴을 표시하고 싶습니다. 이미 "응용 프로그램에서 제공하는 글꼴"아래의 plist에 글꼴을 넣었습니다. 사용중인 코드 :

        UIWebView *webView = [[UIWebView alloc] initWithFrame:myRect];
        NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
        [webView loadHTMLString:html baseURL:baseURL];
        [self addSubview:webView];

여기서 html은 다음 내용을 포함하는 NSString입니다.

<html><head>
<style type="text/css">
@font-face {
    font-family: gotham_symbol;
    src: local('GOTHAMboldSymbol_0.tff'), format('truetype') 
} 
body { 
 font-family: gotham_symbol;
font-size: 50pt;
}
</style>
</head><body leftmargin="0" topmargin="0">
This is <i>italic</i> and this is <b>bold</b> and this is some unicode: &#1101;
</body></html>

iOS 4.2를 사용하고 있으므로 TTF가 지원되어야합니다. 실제로 작동하는 약간의 html / code를 고맙게 생각합니다.


Try and Error 후 로컬 CSS로 사용자 정의 글꼴을로드하는 안정적인 방법을 찾았습니다.

1. 앱에 글꼴 추가 ... 파일이 응용 프로그램에 올바르게 대상인지 확인하십시오.

여기에 이미지 설명 입력 여기에 이미지 설명 입력

2. 그런 다음 yourApp-Info.plist에 글꼴을 추가합니다.

여기에 이미지 설명 입력

3. 실행 NSLog(@"Available fonts: %@", [UIFont familyNames]);시스템에 대한 글꼴 / 글꼴 패밀리의 이름을 확인하려면 ...

여기에 이미지 설명 입력

4. 해당 이름을 복사하여 CSS에서 사용하십시오 ... @ font-face는 필요하지 않습니다.

body {
    font-family:"Liberation Serif";
}

위에서 내가 뭘 잘못했는지 확실하지 않지만 결국 작동하게했습니다. 다음은 내가 사용하는 HTML입니다 (NSString * htmll). 모든 것을 추가했지만 일부는 솔루션과 관련이 없을 수 있습니다.

<html><head><style type="text/css">
@font-face {
font-family: 'gotham_symbol';
src: url('GOTHAMboldSymbols_0.ttf')  format('truetype') 
}
@font-face {
font-family: 'gotham_symbol_italic';
src: url('GothamBoldItalic.ttf')  format('truetype') 
}
#w {display:table;}
#c {display:table-cell; vertical-align:middle;}
i { font-family: 'Helvetica-BoldOblique'; }
</style></head><body topmargin="0" leftmargin="0">
<div style="display: table; width: 320px; height: 50px; #position: relative; overflow: hidden;">
<div style=" #position: absolute; #top: 50%;display: table-cell; vertical-align: middle;">
<div style=" #position: relative; #top: -50%">
<p style="font-size:20px;font-family:'gotham_symbol';color:#97371f;">THE TEXT GOES HERE</p></div></div></div></body></html>

다음과 같이 UIWebView를로드합니다.

UIWebView *webView = [[UIWebView alloc] initWithFrame:rect];
[webView makeTransparent];
NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[webView loadHTMLString:html baseURL:baseURL];

참조 URL : https://stackoverflow.com/questions/10490696/using-custom-font-in-a-uiwebview

반응형