2012-07-13 35 views
3

是否有任何簡單的方法將文本字段的提示設置爲斜體,同時保持實際文本不斜體?下面的圖片顯示了我正在嘗試完成的內容,但實際上並不工作,因爲鍵入第一個文本字段的文本仍然以斜體顯示。iOS - 如何將文本字段提示設置爲斜體(使用常規實際文本)?

text fields

如果沒有簡單的方法來做到這一點,我在想,我得落實在每個文本字段的方法來檢查文本的長度,如果零應用斜體字體。這會工作,對吧?有沒有更好的辦法?

回答

5

試試這個:

UIFont* italicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]];  
[yourTextField setValue:italicFont forKeyPath:@"_placeholderLabel.font"]; 

編輯:

好吧,這裏是另一個(合法的)的方式來做到這一點:

  • 1.Subclass UITextField並覆蓋drawPlaceholderInRect:

TextFieldSubclass.h:

@interface TextFieldSubclass : UITextField 

@end 

TextFieldSubclass.m:

- (void) drawPlaceholderInRect:(CGRect)rect 
{ 
    [[UIColor lightGrayColor] setFill]; 
    UIFont* italicFont = [UIFont italicSystemFontOfSize:[UIFont systemFontSize]]; 
    [[self placeholder] drawInRect:rect withFont:italicFont]; 
} 
  • 2.Change您UITextField類並將其設置爲TextFieldSubclass:

enter image description here

一就是這樣。請享用。

+1

這可能工作,但它正在訪問私人實例變量,因此,蘋果可能會拒絕從App Store的應用程序... – thebarcodeproject 2012-07-13 23:43:27

+0

我知道類似通過審查的東西,所以我認爲這段代碼是好的。 – 2012-07-13 23:49:13

相關問題