Ios 占位符的字体大小
我想在文本字段中绘制与文本本身大小相同的文本占位符 然而,我在文本字段的背景中看到了一个小跳跃,因为它们的大小不一样 我对UITextField类进行了子类化,并重写了该方法Ios 占位符的字体大小,ios,fonts,uitextfield,Ios,Fonts,Uitextfield,我想在文本字段中绘制与文本本身大小相同的文本占位符 然而,我在文本字段的背景中看到了一个小跳跃,因为它们的大小不一样 我对UITextField类进行了子类化,并重写了该方法 -(void)drawPlaceholderInRect:(CGRect)rect{ [[self placeholder] drawInRect:rect withAttributes:@{NSForegroundColorAttributeName : [UIColor blueColor] , NSFon
-(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
属性。请参阅我的更新答案。添加您可能需要的任何其他属性。