How to keep 2 different fonts within the same UIT

2020-01-29 18:28发布

问题:

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

回答1:

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.



回答2:

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



回答3:

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


回答4:

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.



回答5:

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.