3
votes

I want to set 2 different fonts within the same UITextField and UITextView . How to do it?

5
I'm not sure I understand. Are you saying that you want to have 2 different fonts within the same textfield? Or are you asking how to change the font?mkral

5 Answers

5
votes

Its a bit of work - you'll need to use Core Text and NSAttributedString to do this.

There are plenty of tutorials and examples, although I'd suggest using someone else's already-made UILabel subclass such as:

OHAttributedLabel

or

TTAttributedLabel

As these usually have some convenience methods to make handling a lot easier.

1
votes

I would do it with 2 custom textfields overlaying, both backgroundcolor:clearColor, maybe stuffed on an image that represents the background.

0
votes

I don't think it is possible to handle 2 different fonts within the same UITextField or UITextView. If you want to have different font style you can either set different font style within a UIWebView or use the coreText API.

Here are some links that might help:

  1. iPhone Development - Setting UIWebView font
  2. the official doc on core text: https://developer.apple.com/library/mac/#documentation/StringsTextFonts/Conceptual/CoreText_Programming/Introduction/Introduction.html
0
votes

I know you already picked a valid answer but... don't do it that way... it's not worth it. Use a webview instead and draw everything with html.

0
votes

In interface builder change Text View's Text field to Attributed. In that small editor that appears you can change the font/format/color of the selected text, like in any advanced text editor.