Edit: As of iOS 3.2, this functionality is built in. If you need to support pre-3.2, you can still use this solution.
I created a simple module that extends UILabelUILabel and handles loading .ttf files. I released it opensource under the Apache license and put it on github here: git://github.com/zynga/FontLabel.gitHere.
The important files are FontLabel.hFontLabel.h and FontLabel.mFontLabel.m.
It uses some of the code from Genericrich's answer.
Browse the source here: http://githubHere.com/zynga/FontLabel/tree/master
OR
Copy your font file into resources
Add a key to your Info.plist
Info.plistfile called UIAppFonts. ("Fonts provided by application)Make this key an array
For each font you have, enter the full name of your font file (including the extension) as items to the UIAppFonts array
Save Info.plist
Info.plistNow in your application you can simply call [UIFont fontWithName:@"CustomFontName" size:15]
[UIFont fontWithName:@"CustomFontName" size:15]to get the custom font to use with your UILabelsUILabelsand UITextViewsUITextViews, etc…