iPod touch를 iOS 7.0.3으로 업그레이드했는데 "HelveticaNeue-Italic"이 사라진 것 같습니다. 다음을 사용하여 전화로 쿼리 할 때 :
[UIFont fontNamesForFamilyName:@"Helvetica Neue"]
다음 fontNames (13)를 얻습니다.
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
시뮬레이터에서 동일한 쿼리를 실행하면 (14) :
HelveticaNeue-BoldItalic,
HelveticaNeue-Light,
**HelveticaNeue-Italic,**
HelveticaNeue-UltraLightItalic,
HelveticaNeue-CondensedBold,
HelveticaNeue-MediumItalic,
HelveticaNeue-Thin,
HelveticaNeue-Medium,
HelveticaNeue-Thin_Italic,
HelveticaNeue-LightItalic,
HelveticaNeue-UltraLight,
HelveticaNeue-Bold,
HelveticaNeue,
HelveticaNeue-CondensedBlack
다른 사람이 보셨나요?
---- 새로운 정보 ----
WWDC 2013 비디오 "텍스트 키트와 함께 글꼴 사용"으로 돌아가서 흥미로운 부분은 12:22에 시작됩니다. 발표자는 OS X의 "MetaFonts"를 예로 들어 설명합니다. 그가 말하는 것은 아래의 글꼴이 다음과 같이 호출된다는 것입니다.
+ (NSFont *)messageFontOfSize:(CGFloat)fontSize
버전 또는 용도에 따라 동일한 기본 글꼴을 반환하지 않을 수도 있습니다. 그의 예는 Lucinda Grande였습니다. 그는 "HelveticaNeue-Italic"을 사용하는 것이 버전간에 사라질 수 있다고 말하는 것 같지 않았습니다.
그래서 iOS 7에서 실험을 구성했습니다. 다음 코드로 글꼴을 만들었습니다.
UIFontDescriptor *fontDescriptor = [UIFontDescriptor fontDescriptorWithName:@"Helvetica Neue" size:16.0];
UIFontDescriptor *symbolicFontDescriptor = [fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic];
UIFont *fontWithDescriptor = [UIFont fontWithDescriptor:symbolicFontDescriptor size:16.0];
fontWithDescriptor에 대해 유효한 UIFont를 얻었고 fontName의 글꼴을 다음과 같이 쿼리했을 때 :
[fontWithDescriptor fontName]
나는 돌아왔다...
HelveticaNeue-Italic
그림을 이동???
따라서 7.0.3에 대한 가능한 대답은 위의 코드 인 것 같습니다.
---- 추가 조정 ----
솔루션이 위에서 작동했지만 공식적으로 옳다고 생각하지 않습니다. 다음 솔루션으로 전환했습니다.
UIFontDescriptor *fontDescriptor = [[UIFontDescriptor alloc] init];
UIFontDescriptor *fontDescriptorForHelveticaNeue = [fontDescriptor fontDescriptorWithFamily:@"Helvetica Neue"];
UIFontDescriptor *symbolicFontDescriptor = [fontDescriptorForHelveticaNeue fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic];
textFont = [UIFont fontWithDescriptor:symbolicFontDescriptor size:textFontPointSize];
이것은 모든 옳은 일을하는 것처럼 보입니다. 다른 글꼴 패밀리로 이전 접근 방식을 시도했는데 fontName 및 fontFamily와 혼동되는 것 같습니다. 도움이 되었기를 바랍니다!