Convert UIFont to CTFontRef and add italic on Retina display
A bit old but for whomever it might still concern:
That happens because the new Neue Helvetica system font used in new retina devices (iPhone 4, iPad) doesn't have an italic version. Not every font has a bold and/or italic variant.
So, if you need italic text, you need to use a different font, for example, the old Helvetica.
CTFontRef ref = CTFontCreateWithName((CFStringRef)@"Helvetica", 12, NULL);
CTFontRef italicFont = CTFontCreateCopyWithSymbolicTraits(ref, 12, NULL, kCTFontItalicTrait, kCTFontItalicTrait);
Converting UIFont/NSFont to CTFontRef is very simple if you use ARC.
UIFont:
UIFont *uiFont = [UIFont fontWithName:@"Helvetica" size:10];
CTFontRef ctFont = (__bridge CTFontRef)uiFont;
NSFont:
NSFont *nsFont = [NSFont fontWithName:@"Helvetica" size:10];
CTFontRef ctFont = (__bridge CTFontRef)nsFont;