[iOS] UIFont 예제
UIFont는 이름 그대로 폰트를 정의하는 클래스다. 수 많은 글자를 표시하는 UI 클래스에서 폰트를 명시하기 위해 사용하는 중요한 클래스이다.
일반적으로 간단히 UIFont 를 코드 레벨에서 생성 할 때는 systemFontOfSize: 를 이용해 간단히 생성해 낼 수 있다. 넘겨지는 사이즈는 포인트(pt) 단위이다. 쉽다.
하지만 디자이너가 원하는 폰트는 시스템폰트가 아니다. 디자이너들의 선호도가 높은 Helvetica Neue 폰트는 어떻게 생성해야 하는가. fontWithName:size: 를 이용 할 수 있다.
불행히도 폰트는 같은 이름이라고 해도 종류가 많다. Regular니 Light니 Medium 이니... 그렇다면 이에 해당하는 이름을 어떻게 지정해야 할 것인가. 다행히도 폰트 이름은 fontNamesForFamilyName: 를 통해 얻을 수 있다. 아래 코드는 폰트 이름을 로그로 출력하는 예제다.
시뮬레이터에서 돌려보면 아래와 같은 식으로 결과가 나온다.
이름을 얻었으니 이걸로 폰트 오브젝트를 생성 할 수 있다. 예를 들어 Helvetica Neue Medium 15pt 라면 아래와 같이 생성 할 수 있다.
iOS built-in 폰트라면 위 방식으로 모두 이용이 가능하다.
일반적으로 간단히 UIFont 를 코드 레벨에서 생성 할 때는 systemFontOfSize: 를 이용해 간단히 생성해 낼 수 있다. 넘겨지는 사이즈는 포인트(pt) 단위이다. 쉽다.
UIFont *font = [UIFont systemFontOfSize:15];
하지만 디자이너가 원하는 폰트는 시스템폰트가 아니다. 디자이너들의 선호도가 높은 Helvetica Neue 폰트는 어떻게 생성해야 하는가. fontWithName:size: 를 이용 할 수 있다.
UIFont *font = [UIFont fontWithName:@"HelveticaNeue" size:15];위 코드는 Helvetica Neue Regular 폰트 오브젝트를 생성하는 예제이다.
불행히도 폰트는 같은 이름이라고 해도 종류가 많다. Regular니 Light니 Medium 이니... 그렇다면 이에 해당하는 이름을 어떻게 지정해야 할 것인가. 다행히도 폰트 이름은 fontNamesForFamilyName: 를 통해 얻을 수 있다. 아래 코드는 폰트 이름을 로그로 출력하는 예제다.
NSArray *fonts = [UIFont fontNamesForFamilyName:@"Helvetica Neue"]; for (NSString *name in fonts) { NSLog(@"%@", name); }
시뮬레이터에서 돌려보면 아래와 같은 식으로 결과가 나온다.
HelveticaNeue-BoldItalic HelveticaNeue-Light HelveticaNeue-UltraLightItalic HelveticaNeue-CondensedBold HelveticaNeue-MediumItalic HelveticaNeue-Thin HelveticaNeue-Medium HelveticaNeue-ThinItalic HelveticaNeue-LightItalic HelveticaNeue-UltraLight HelveticaNeue-Bold HelveticaNeue HelveticaNeue-CondensedBlack
이름을 얻었으니 이걸로 폰트 오브젝트를 생성 할 수 있다. 예를 들어 Helvetica Neue Medium 15pt 라면 아래와 같이 생성 할 수 있다.
UIFont *font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:15];
iOS built-in 폰트라면 위 방식으로 모두 이용이 가능하다.
댓글