Llamar a sizeToFit en un UITextField después de cambiar la fuente no funciona correctamente en iOS 7.1

Desde iOS 7.1, cambiar el tamaño de fuente y la llamada sizeToFit no funciona como se esperaba. El text no se dibujará en la position correcta y se cortará. El text va a su position correcta cuando el UITextField es el primero en responder. Sin resignFirstResponder llamar a resignFirstResponder hará que falle nuevamente.

introduzca la descripción de la imagen aquí

¿Alguien tiene una solución para eso?

 - (void)viewDidLoad { [super viewDidLoad]; UITextField *textField = [[UITextField alloc] init]; textField.text = @"This is a test"; textField.backgroundColor = [UIColor networkingColor]; [textField sizeToFit]; // Calling this will make the second sizeToFit to fail textField.font = [textField.font fontWithSize:textField.font.pointSize * 3]; [textField sizeToFit]; textField.center = CGPointMake(self.view.frame.size.width / 2.0, self.view.frame.size.height / 2.0); textField.delegate = self; [self.view addSubview:textField]; } - (BOOL)textFieldShouldReturn:(UITextField *)textField { [textField resignFirstResponder]; return YES; } 

Encontré una solución. Cambiar la cadena de text antes de llamar a sizeToFit hará que funcione correctamente:

 textField.font = [textField.font fontWithSize:textField.font.pointSize * 3]; NSString *oldText = textField.text; textField.text = @""; textField.text = oldText; [textField sizeToFit];