Ios 占位符的字体大小

Ios 占位符的字体大小,ios,fonts,uitextfield,Ios,Fonts,Uitextfield,我想在文本字段中绘制与文本本身大小相同的文本占位符 然而,我在文本字段的背景中看到了一个小跳跃,因为它们的大小不一样 我对UITextField类进行了子类化,并重写了该方法 -(void)drawPlaceholderInRect:(CGRect)rect{ [[self placeholder] drawInRect:rect withAttributes:@{NSForegroundColorAttributeName : [UIColor blueColor] , NSFon

我想在文本字段中绘制与文本本身大小相同的文本占位符

然而,我在文本字段的背景中看到了一个小跳跃,因为它们的大小不一样

我对UITextField类进行了子类化,并重写了该方法

-(void)drawPlaceholderInRect:(CGRect)rect{
     [[self placeholder] drawInRect:rect withAttributes:@{NSForegroundColorAttributeName : [UIColor blueColor]  , NSFontAttributeName : self.font}];
}

如何确保此字段的字体大小与文本字段的字体大小相同?

默认情况下,
UITextField
占位符和
text
的字体大小相同

如果使用具有不同字体的
attributedText
属性集设置文本字段的文本,请设置文本字段的
attributePlaceholder
属性并使用相同的字体

无需为此重写
drawPlaceholderInRect:
方法。这假设您只需要支持iOS 6.0及更高版本

NSDictionary *attrs = @{ NSForegroundColorAttributeName : [UIColor blueColor], NSFontAttributeName : self.font };
NSAttributedString *str = [[NSAttributedString alloc] initWithString:someText attributes:attrs];
someTextField.attributePlaceholder = str;

我希望占位符有不同的颜色,这就是为什么我这么做的原因,我不想检查我的interfacebuilder中的每个文本字段并调整所有属性,我希望它是这样通过类使用
attributedPlaceholder
设置颜色、字体和其他属性。你能给我一个例子吗?我还想将它放在文本字段的中心。它与您发布的代码非常相似,只是使用这些属性来创建
nsattributestring
。然后将属性字符串分配给
attributedPlaceholder
属性。请参阅我的更新答案。添加您可能需要的任何其他属性。