Ios – UITextView – setting font not working with iOS 6 on XCode 5

iosobjective cuistoryboardxcode

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.

Best Answer

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;