Xcode 프로젝트에 추가 한 사용자 정의 글꼴이 있습니다. 내가 글꼴을 추가 지시에 따라 모든 단계를 거쳤으며 내가 UILabel 또는 UITextField를 IB의 사용자 지정 글꼴로 설정하면 멋지게 작동하지만 사용자 정의 글꼴을 런타임에 설정하면 대신 iOS 기본 글꼴로 표시됩니다. UIAppFonts 목록을 확인한 후 전체 이름이 표시된 NSLog로 인쇄하게하여 [UIFont fontWithName : @ "font name"크기 : s]를 호출 할 때 올바른 이름임을 알 수 있습니다. 무엇이 문제 일 수 있습니까? IB에서 설정하면 사용자 정의 작성 글꼴이 올바르게 표시되지만 프로그래밍 방식으로 설정된 경우에는 표시되지 않습니다.
for (NSString* family in [UIFont familyNames]) {
NSLog(@"%@", family);
for (NSString* name in [UIFont fontNamesForFamilyName: family]) {
NSLog(@" %@", name);
}
}
당신이 글꼴 이름을 볼 수 있나요
:NSDictionary* infoDict = [[NSBundle mainBundle] infoDictionary];
NSArray* fontFiles = [infoDict objectForKey:@"UIAppFonts"];
for (NSString *fontFile in fontFiles) {
NSURL *url = [[NSBundle mainBundle] URLForResource:fontFile withExtension:NULL];
NSData *fontData = [NSData dataWithContentsOfURL:url];
CGDataProviderRef fontDataProvider = CGDataProviderCreateWithCFData((__bridge CFDataRef)fontData);
CGFontRef loadedFont = CGFontCreateWithDataProvider(fontDataProvider);
NSString *fullName = CFBridgingRelease(CGFontCopyFullName(loadedFont));
CGFontRelease(loadedFont);
CGDataProviderRelease(fontDataProvider);
NSLog(@"FULL NAME:%@",fullName);
}
더 많은 정보가 없으면 말하기 어렵습니다. 변수의 인스턴스를 저장하고 디버거에서 객체를 검사합니다. 폰트 패밀리를 검사 할 때 그 시점에서 폰트가 올바르게 빌드되고 있습니까? –
고마워요, 그 말이 사실이 아니고 실제로는 코드가 없습니다 : UIFont * font = [UIFont fontWithName : @ "font name"size : 24.0f]; – Silverstar