2013-12-09 3 views
1

У меня есть несколько текстовых полей, сделанных в построителе интерфейса, а затем несколько сделанных программно. Текст заполнителя имеет разные размеры. Кажется, я должен иметь возможность получить тот же шрифт без подкласса UITextField. Я просто пытаюсь воссоздать текстовое поле, которое выглядит как одно из конструктора интерфейса.Заполнитель UITextField имеет другой размер шрифта

UITextField *textField = [[UITextField alloc] init]; 
textField.placeholder = string; 
[textField setTranslatesAutoresizingMaskIntoConstraints:NO]; 
[textField setBorderStyle:UITextBorderStyleRoundedRect]; 
[self.view addSubview:textField]; 
textField.returnKeyType = UIReturnKeyNext; 
textField.inputAccessoryView = [[QEDCKeyboardAccessory alloc] initWithDelegate:self]; 
textField.delegate = self; 
+0

Так в чем же ваша проблема. –

+0

Вы можете установить шрифт шрифта в коде. – payal

+0

Можете ли вы опубликовать код, который вы используете для создания текстового поля? –

ответ

0

Проблема может быть, что, когда вы собираетесь creation of UITextField via programmatically and IB, The Font size of UItextfield are different.

You just need to set the Font size are Equal by IB as well as Programmatically, 

Там нет отдельной функциональности шрифта для PlaceHolder

+0

Но мы можем установить другой шрифт в текст 'textField', так? – aircraft

+0

@aircraft Да, вы можете ,,, textfield.textcolor *** .. –

0

У них никогда не бывает разного размера, то есть размер textSize для UItextfield. Пожалуйста, проверьте размер TextSize из его свойства

1

Вы можете set an attributed string on the placeholder. Если текстовые поля построителя интерфейса используют атрибутные строки, они используют одни и те же атрибуты, за исключением цвета переднего плана.

Смотреть это doc:

+0

Это правильный ответ \ o/ – sachadso

2

Вы можете сделать это с помощью программной настройки значения для ключа @ "_ placeholderLabel.font"

[self.input setValue:[UIFont fontWithName: @"American Typewriter Bold" size: 20] forKeyPath:@"_placeholderLabel.font"]; 

и также вы можете переопределить drawPlaceholderInRect, чтобы сделать это ....

- (void) drawPlaceholderInRect:(CGRect)rect { 
     [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:13]]; 
} 
+1

[self.txtField setValue: [UIFont fontWithName: @ "HelveticaNeue-Light" size: 14] forKeyPath: @ "_ placeholderLabel.font"]; – GMJigar

Смежные вопросы