2014-02-16 60 views
0

我想绘制文本占位符的文本框的大小与文本本身占位符的字体大小

然而

一样,我看到在文本框的背景小跳,因为它们是相同的未尺寸。

我子类UITextField类和覆盖的方法

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

我如何确保这一具有相同的字体大小的文本框的字体大小?

回答

0

默认情况下,UITextFieldplaceholdertext是相同的字体大小。

如果使用设置了不同字体的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; 
+0

我想要的占位符不同的颜色,这就是为什么我这样做,我不想去了每一个文本框,我有我的InterfaceBuilder并调整所有的属性,我希望它是这样的类 –

+0

使用'属性使用者'可以设置颜色,字体和其他属性。 – rmaddy

+0

你能举个例子吗?我也想让它在文本字段中居中 –

相关问题