UITextView - setting font not working with iOS 6 on XCode 5

Harry picture Harry · Oct 1, 2013 · Viewed 41.6k times · Source

I'm using storyboards for my UI. I was previously using XCode 4.6 and released on iOS 6. I have since updated to iOS 7 using XCode 5 and updated the Storyboard to work nicely with XCode 5. I have one issue though:

UITextView doesn't want to display font changes within code. Text colour changes work fine. Any other property changes are fine. Font, not at all. I was using a custom font, so I checked different fonts with different sizes (i.e. systemFontOfSize:) but that didn't work. The text view only shows the font that's set in the Storyboard. What could I be missing here? Are there any auto-layout constraints that mess with this sort of thing? I had a few issues with constraints during the migration, but as I said, the fonts work fine in iOS 7.

I guess it's something in the Storyboard that I'm missing, as if I create a UIViewController and add a text view in code, it works fine.

I'd put up some code, but I'm not sure it'd help at all in this case.

Answer

jab picture jab · Oct 3, 2013

Even stranger, this only happens on iPhone, not iPad.

If you're setting the font in code and don't want an editable text view, do this:

textView.editable = YES;
textView.font = newFont;
textView.editable = NO;