Short and sweet:
My end goal is to, using one UILabel with two words, display one word in bold, and the other in normal font. All solutions I’ve found are over my head! 🙁
More detail:
I asked a question the other day that didn’t give me the answer I was hoping for, and now it looks like I need to recreate ABPeoplePickerNavigationController using a UITableViewController and contents from ABAddressBook. If you read my previous question and can come up with a better solution, awesome! If not…
When I recreate the PeoplePicker, I really want to mimic Apple’s default implementation exactly, especially how they use both bold and normal fonts for a contacts’ name in the same label.
Now, I know this question has been asked a lot, on SO and elsewhere. Many people have had this need, and the solutions vary:
- use a webview
- use the UIStringDrawing methods
- subclass UILabel and override drawrect
- delve into CoreText
- use the ThreeTwenty library
- use two uilabels, create one as bold, one as normal, and place them next to each other (would require me to then subclass UITableViewCell in order to place two labels
Solutions #2, #3, and #4 seem the most robust, and according to what I’ve read in other questions, it’s how Apple is actually doing it. Unfortunately, these techniques are a little over my head at the moment, and I’m having a hard time following the limited amount of details I’m finding on the web. I haven’t really done anything with explicit drawing yet.
Has anybody implemented this yet themselves? Any code samples you can provide to help me get the hang of these more advanced techniques?
Thanks!
So, just to round this out, I ended up finding a 7th option. 🙂
I went with OHAttributedLabel. I still wasn’t able to wrap my head around UIStringDrawing methods or overriding drawRect in a subclassed UILabel; I think those would have been the cleanest solution. However, OHAttributedLabel seems solid, is super lightweight, and does exactly what I need it to do.
Good luck! If anyone finds more solutions, or feels like they want to explain UIStringDrawing or or drawRect in more detail, feel free to post!
Update:
I’ve been using Matt Thompson’s TTTAttributedLabel and have been really happy with it.
https://github.com/mattt/TTTAttributedLabel