iOS-改變UITextField的Placeholder顏色的三種方式

轉(zhuǎn)自:http://blog.csdn.net/mazy_ma/article/details/51775670

有時(shí)猿妈,UITextField自帶的Placeholder的顏色太淺或者不滿足需求,所以需要修改,而UITextField沒有直接的屬性去修改Placeholder的顏色,所以只能通過其他間接方式去修改允坚。

例如:系統(tǒng)默認(rèn)的Placeholder顏色太淺?

需要加深顏色霎箍,或者改變顏色?

方法一:通過attributedPlaceholder屬性修改Placeholder顏色

CGFloat viewWidth = self.view.bounds.size.width;

? ? CGFloat textFieldX = 50;

? ? CGFloat textFieldH = 30;

? ? CGFloat padding? ? = 30;

? ? UITextField *textField = [[UITextField alloc] init];

? ? textField.frame = CGRectMake(textFieldX, 100, viewWidth - 2 * textFieldX, textFieldH);

? ? textField.borderStyle = UITextBorderStyleRoundedRect; // 邊框類型? ? textField.font = [UIFont systemFontOfSize:14];

? ? // 就下面這兩行是重點(diǎn)? ? NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:@"請(qǐng)輸入占位文字" attributes:

? ? @{NSForegroundColorAttributeName:[UIColor redColor],

? ? ? ? ? ? ? ? NSFontAttributeName:textField.font? ? ? ? }];

? ? textField.attributedPlaceholder = attrString;

? ? [self.view addSubview:textField];

方法二:通過KVC修改Placeholder顏色

UITextField *textField1 = [[UITextField alloc] init];

?textField1.frame = CGRectMake(textFieldX, CGRectGetMaxY(textField.frame) + padding, viewWidth - 2 * textFieldX, textFieldH);?

?textField1.borderStyle = UITextBorderStyleRoundedRect; textField1.placeholder = @"請(qǐng)輸入占位文字";?

?textField1.font = [UIFont systemFontOfSize:14];?

?// "通過KVC修改占位文字的顏色"

?[textField1 setValue:[UIColor greenColor] forKeyPath:@"_placeholderLabel.textColor"];

?[self.view addSubview:textField1];

方法三:通過重寫UITextField的drawPlaceholderInRect:方法修改Placeholder顏色

1祈匙、自定義一個(gè)TextField繼承自UITextField??

2吐限、重寫drawPlaceholderInRect:方法??

3鲜侥、在drawPlaceholderInRect方法中設(shè)置placeholder的屬性

// 重寫此方法

-(void)drawPlaceholderInRect:(CGRect)rect {

? ? // 計(jì)算占位文字的 Size

? ? CGSize placeholderSize = [self.placeholder sizeWithAttributes:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @{NSFontAttributeName : self.font}];? ? [self.placeholder drawInRect:CGRectMake(0, (rect.size.height - placeholderSize.height)/2, rect.size.width, rect.size.height) withAttributes:

? ? @{NSForegroundColorAttributeName : [UIColor blueColor],

? ? ? ? ? ? ? ? NSFontAttributeName : self.font}];

}

總結(jié):??

1、當(dāng)我們使用純代碼創(chuàng)建UITextField時(shí)诸典,用第二種方法(KVC)修改占位文字顏色是最便捷的 描函。?

2、當(dāng)我們使用XIB或者Storyboard創(chuàng)建UITextField時(shí)狐粱,通過自定義UITextField舀寓,修改占位文字顏色是最適合的。??

3肌蜻、我們也可以在第三種重寫方法中互墓,通過結(jié)合第二種方法中的KVC修改屬性來實(shí)現(xiàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蒋搜,一起剝皮案震驚了整個(gè)濱河市篡撵,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌豆挽,老刑警劉巖育谬,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異帮哈,居然都是意外死亡膛檀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門娘侍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咖刃,“玉大人,你說我怎么就攤上這事私蕾〗┤保” “怎么了胡桃?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵踩叭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我翠胰,道長(zhǎng)容贝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任之景,我火速辦了婚禮斤富,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锻狗。我一直安慰自己满力,他們只是感情好焕参,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著油额,像睡著了一般叠纷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上潦嘶,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天涩嚣,我揣著相機(jī)與錄音,去河邊找鬼掂僵。 笑死航厚,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锰蓬。 我是一名探鬼主播幔睬,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼互妓!你這毒婦竟也來了溪窒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冯勉,失蹤者是張志新(化名)和其女友劉穎澈蚌,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灼狰,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宛瞄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了交胚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片份汗。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蝴簇,靈堂內(nèi)的尸體忽然破棺而出杯活,到底是詐尸還是另有隱情,我是刑警寧澤熬词,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布旁钧,位于F島的核電站,受9級(jí)特大地震影響互拾,放射性物質(zhì)發(fā)生泄漏歪今。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一颜矿、第九天 我趴在偏房一處隱蔽的房頂上張望寄猩。 院中可真熱鬧,春花似錦骑疆、人聲如沸田篇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泊柬。三九已至舶担,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間彬呻,已是汗流浹背衣陶。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闸氮,地道東北人剪况。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蒲跨,于是被迫代替她去往敵國(guó)和親译断。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容