我在界面构建器中创建了一些textFields,然后以编程方式创建了一些。占位符文本似乎有不同的大小。看来我应该能够在没有子类化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 :(得分: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 :(得分:1)
你可以set an attributed string on the placeholder
。如果界面构建器文本字段使用属性字符串,则它使用相同的属性,前景色除外。
请参阅此doc:
答案 2 :(得分:0)
它们永远不会有不同的大小,即UItextfield的textSize的大小。请从其属性
检查TextSize的大小答案 3 :(得分: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没有单独的字体功能