Try Below Steps: Code tested in Swift 3
.
Step 1: Add Your custom font into your project( Make sure Add to Target
ticked).I am using “PermanentMarker.ttf”,”Pecita.otf” and “AROLY.ttf” font as a test font.
Note: Supporting font Type ttf and otf (Both font types should work)
Step 2: Modify the application-info.plist file.
Add the key “Fonts provided by application” in a new row and add “PermanentMarker.ttf” as new item in the Array “Fonts provided by application“.
Your plist should looks like this
Now the font will be available in Interface Builder. To use the custom font in code we need to refer to it by name, but the name often isn’t the same as the font’s filename
Now, You can access the Custom Font from your viewController. I am testing the font by placing a UIlabel to the Storyboard like below.
Update 2: Working Solution
After, imported your custom font and updated your plist
.selectlabel
from your storyBoard
,goto Attributes Inspector
under Label
>Text type
> select to Attributed
and choose your custom font
from the list.
Output:
Update 1
If your custom font still not listed in Xcode font list
.check the related link to your issue
-
http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/
-
custom font not displaying on some simulator
Note: Still,You can assign BebasNeue
or custom font
programatically to your label or button etc. even its not showing in your interface Builder
.If you having trouble setting font to your object programatically.try below method.
Assign font to UILabel:
label?.font = UIFont(name: "BebasNeue", size: 35) // Set to any size
Assign font to UIButton:
button.titleLabel?.font = UIFont(name: "BebasNeue", size: 35)
Assign font to UITextField:
textField.font = UIFont(name: "BebasNeue", size: 25)
Assign font to UINavigationBar:
navigationController?.navigationBar.titleTextAttributes = [NSFontAttributeName: UIFont(name: "BebasNeue", size: 25)!, NSForegroundColorAttributeName: UIColor.red]
Assign font to UIToolBar:
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "BebasNeue", size: 25.0)!], for: UIControlState.normal)
Output: