fra3il

UIWebView 에서 사용자 폰트를 적용하는 방법

Introduction

fra3il

fra3il


LATEST POSTS

AWS Lambda 는 개뿔.. 하나도 모르겠다고! 03rd June, 2016

앱 아이콘에 앱 버전, 빌드 번호 등의 정보를 표시하는 방법 05th February, 2016

iOS

UIWebView 에서 사용자 폰트를 적용하는 방법

Posted on .

UIWebView 로 만들 수 있는 웹 페이지는 크게 두 가지로 나눌 수 있다.

  1. loadHTMLString:baseURL: 을 사용하여 만든 웹 페이지
  2. loadRequest: 를 이용하여 불러온 웹 페이지

사용자 폰트를 적용하면서 문제가 되는 것은 2 의 경우다.
( 1 의 경우, 로컬에서 생성한 페이지이므로 사용자 폰트를 적용하는데 큰 문제가 없다. )
loadRequest: 를 이용해서 불러온 웹 페이지이므로 ‘ 과연 가능할까?! ‘ 라는 생각이 먼저 들었다.

일단 자바 스크립트를 이용해서 사용자 폰트를 추가하고, 각각의 항목에 대해서 적용하는 방법을 사용해보기로 했다.

  1. 테스트를 위한 웹 페이지를 선택하고, 변경하고자 하는 항목의 클래스를 찾는다.
    ( http://m.naver.com, class=”txtlst_l” )

  2. 사용자 폰트를 추가하고, 각각의 항목에 대해서 적용하는 스크립트를 작성한다.
    https://gist.github.com/fra3il/33bd77099d130456e90b#file-0-js

  3. 크롬 개발자 도구의 콘솔을 이용하여 작성한 스크립트를 테스트한다.

  4. Xcode 프로젝트를 생성하고, 사용자 폰트를 추가한다.

  5. stringByEvaluatingJavaScriptFromString: 을 이용, 불러온 웹 페이지에 스크립트를 적용시킨다.
    ( src: local(‘NanumPen.ttf’) 과 같은 방식으로 사용자 폰트의 위치를 지정해야 한다. )
    https://gist.github.com/fra3il/33bd77099d130456e90b#file-1-m

  6. 다음과 결과를 확인할 수 있다.

덧.
일반적으로 이러한 방식을 이용, 사용자 폰트를 적용하는 경우는 없을 것 같다.
가능하다는 정도만 알고 넘어가자.

관련 링크

fra3il

fra3il

Navigation