更改占位符iphone sdk中文本字段的字体

时间:2011-12-30 05:49:33

标签: iphone

如何更改文本提交的占位符字体? 这是否可以更改文本提交的占位符的默认字体? 如果有人知道,请帮助我。 感谢。

2 个答案:

答案 0 :(得分:9)

创建UITextField的子类并覆盖drawPlaceholderInRect:

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

答案 1 :(得分:2)

@fannheyward的答案很好。但是,在iOS 7.0中不推荐使用– drawInRect:withFont:。在iOS 7中,您应该使用:

- (void) drawPlaceholderInRect:(CGRect)rect {
    UIFont *font = [UIFont fontWithName:@"STHeitiTC-Light" size:14.0];    
    [self.placeholder drawInRect:rect withAttributes:@{NSFontAttributeName: font}]
}

另请注意,“真实”字体名称可能与界面构建器上显示的字体名称不同。您可以使用以下代码获取项目中可用字体的“真实”名称:

for (NSString *familyName in [UIFont familyNames]) {
    for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
        NSLog(@"%@", fontName);
    }
}