Darren
Darren

Reputation: 10398

UITextField changes font while editing

I am suffering the same problem as here UITextField's custom font changes while in edit mode and could really do with a solution.

I have 4 UITextFields that I assign custom fonts in ViewDidLoad. This works and they look great, however when clicking a field to edit the text the font changes back to default text and when resignedfirstresponder the custom font comes back.

- (void)viewDidLoad
{
    [super viewDidLoad];
    {

        UIFont *twoDumb = [UIFont fontWithName:@"Dumb" size:20.f];

        lbl1.font = twoDumb;
        broughtForward.font = twoDumb;
        lbl2.font = [UIFont fontWithName:@"Dumb" size:24.f];
        amountTextfield.font = twoDumb;
        lbl3.font = twoDumb;

If I use system fonts, then the text field works as it should, so there must be something to do with this font file maybe?

Upvotes: 8

Views: 5092

Answers (4)

Eva Madrazo
Eva Madrazo

Reputation: 4731

I have found that when I'm setting the UILabel appearance anywhere in the code:

[[UILabel appearance] setFont:MYFONT];

Changing UITextField font only applies to editing text, and not to the text shown in textfield when user is not editing it.

Upvotes: 3

webcpu
webcpu

Reputation: 3422

You can set the font again when editing, the font will be the same when editing.

- (void)textFieldDidBeginEditing:(UITextField *)textField {
    textField.font = customizedFont; //The font you want to use no matter editing/no editing

}

Upvotes: 1

Rupesh
Rupesh

Reputation: 2051

enter image description hereThe lable (lbl1,lbl2,lbl3) which you have used are custom or is it set from xib file?

I doubt the font it is changing is due to font set in Xib file.

enter image description here

Upvotes: 1

dbrajkovic
dbrajkovic

Reputation: 3703

I have downloaded that font and tried it in an iPhone app. I also downloaded some other fonts from the internet and tried them as well. I also tried some Mac fonts such as Chalkduster. I also tried 3Dumb. The results every font I tried EXCEPT 2Dumb and 3Dumb worked. Solution: Use another font.

Upvotes: 2

Related Questions