2016-07-15 3 views
0

Я пытаюсь изменить размер шрифта UITextField динамически при изменении текста. Но когда я делаю это, курсор текстового поля перемещается вверх. Так что если кто-нибудь знает решение, пожалуйста, помогите.Перемещение курсора UITextfield

enter image description here

Пожалуйста, проверьте изображение для справки. Спасибо.

-(void)textChanged:(id)sender{ 

    UITextField *textFild = (UITextField*)sender; 
    if ([textFild.text isEqualToString:@""]) { 
     [textFild setFont:FONT_30]; 
    } 
    else{ 
     [textFild setFont:FONT_15]; 
    } 
    textFild.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 
} 

Пожалуйста, проверьте код ..

ответ

1

Добавьте эту строку после установки размера шрифта динамически. Это будет работать для вас.

txtFieldPassword.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 

Вместо txtFieldPassword написать IBOutlet название вашего соответствующего textfield.

+0

no it is still going up. –

+0

Не могли бы вы добавить здесь некоторый код относительно установки шрифта в текстовое поле. – Pushkraj

0

Это ожидаемое поведение. Установите текст текстового поля вместе с шрифтом. Таким образом, курсор будет сброшен в обычное положение.

-(void)textChanged:(id)sender { 
    UITextField *textFild = (UITextField*)sender; 
    NSString *tmpString = textFild.text; 
    if ([textFild.text isEqualToString:@""]) { 
     textFild.text=tmpString; 
     [textFild setFont:FONT_30]; 
    } else { 
     textFild.text=tempString; 
     [textFild setFont:FONT_15]; 
    } 
    textFild.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; 
} 
Смежные вопросы