Skip to content

Instantly share code, notes, and snippets.

@ahknight
Created August 27, 2014 17:32
Show Gist options
  • Select an option

  • Save ahknight/6ee0708db98366eaab97 to your computer and use it in GitHub Desktop.

Select an option

Save ahknight/6ee0708db98366eaab97 to your computer and use it in GitHub Desktop.

Revisions

  1. ahknight created this gist Aug 27, 2014.
    28 changes: 28 additions & 0 deletions UIFont+Sanity.m
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    @interface UIFont (Sanity)
    +(UIFont*)preferredFontForTextStyle:(NSString *)style withFontFamily:(NSString*)family;
    @end

    @implementation UIFont (Sanity)

    +(UIFont*)preferredFontForTextStyle:(NSString*)style withFontFamily:(NSString*)family
    {
    UIFont *font = nil;
    UIFontDescriptor *descriptor = nil;

    // Font family and size
    descriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:style];
    descriptor = [UIFontDescriptor fontDescriptorWithName:family size:descriptor.pointSize];

    // Font traits for special styles.
    if ([style isEqual:UIFontTextStyleHeadline]) {
    descriptor = [descriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold];
    } else if ([@[UIFontTextStyleCaption1, UIFontTextStyleCaption2] containsObject:style]) {
    descriptor = [descriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitItalic];
    }

    font = [UIFont fontWithDescriptor:descriptor size:descriptor.pointSize];

    return font;
    }

    @end