2014-02-16 82 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

你能舉個例子嗎?我也想讓它在文本字段中居中 –

相關問題