1. 程式人生 > >ios textfield 修改 placeholder color 顏色

ios textfield 修改 placeholder color 顏色

UITextField修改placeholder color有很多種方式,但選擇哪一種看你自己,有一些方法並不建議,同時希望大家分享沒有摘錄的方法,tks

方法一(不推薦):

[_textPhone setValue:[UIColor whiteColor]
                    forKeyPath:@"_placeholderLabel.textColor"];

最直接一句話搞定,使用KVC模式直接設定TestField的私有屬性的值。沒錯,_placeholderLabel是一個私有的屬性,使用這種方式雖然簡單但並不是很好的做法,如果Apple修改(雖然至今沒有修改)了該屬性名後,會在之後的執行中遭遇崩潰,而編譯器卻無法識別。

有人說使用KVC修改私有屬性可能提交 app store稽核不通過,但也有人說能通過,自己試試吧~

方法二(不推薦):


意思同方法一

方法三:

UIColor *color = [UIColor whiteColor];
_textPhone.attributedPlaceholder = [[NSAttributedString alloc] initWithString:_textPhone.placeholder attributes:@{NSForegroundColorAttributeName: color}];
使用UITextField的共有屬性attributedPlaceholder,妥妥的,雖然程式碼略長~

方法四:

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    // Drawing code
    UIColor *color = [UIColor whiteColor];
    self.attributedPlaceholder = [[NSAttributedString alloc] initWithString:self.placeholder attributes:@{NSForegroundColorAttributeName: color}];
//    以下注釋的方法,在ios7後被放棄
//    [[UIColor whiteColor] setFill];
//    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]];
//
    
}

建立一個類繼承UITextField,並重寫該方法,使用該類即可,略麻煩,但如果是公用textField,推薦這種方法,可以新增更多設定。

相關推薦

ios textfield 修改 placeholder color 顏色

UITextField修改placeholder color有很多種方式,但選擇哪一種看你自己,有一些方法並不建議,同時希望大家分享沒有摘錄的方法,tks 方法一(不推薦): [_textPhone setValue:[UIColor whiteColor]

修改placeholder顏色

pre log ref 修改 kit -i explore color webkit input::-webkit-input-placeholder{ color:red; } input::-mo

input修改placeholder文字顏色

rip color -i put internet AS 代碼 clas xpl 少廢話,上代碼: <style> input::-webkit-input-placeholder{ color:red;

修改placeholder文字顏色

::-webkit-input-placeholder { /* WebKit browsers */ color: #fff; } :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #fff; } ::-m

ios 對於修改navigationItem的顏色和系統自帶的navigationItem的rightBarButtonItem的顏色的問題

對於iOS的navigationItem的tittle的顏色修改: 首先建一個工程,建一個UINavigationController然後對navigationBar上tittle修改 只需要帶程式碼中新增如下程式碼即可 : //修改navigationItem的顏色

修改placeholder字型顏色及大小

[textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"]; [textField setVa

ios使用 KVC 修改textFieldplaceholder的字型顏色和大小

最近在看KVC和KVO,利用KVC實現了對textField的placeholder的字型顏色和大小的修改 [textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"]

iOS利用storyboard修改UITextField的placeholder文字顏色

最近有個需求需要修改UITextField的placeholder文字顏色,在網上找發現有用程式碼修改的,但是考慮到更加優雅的實現,所以嘗試著在storyboard中直接實現,結果竟然真的成功了(原諒我太小白),實現的位置如下: 具體步驟: 1.在User Defined

input 修改placeholder顏色

spa style class cnblogs 不能 hold lac pre color 一般來說input的placeholder是不能修改的,但是現在瀏覽器利用偽類實現了對placeholder的修改 input::-webkit-input-placehold

input placeholder 文字顏色修改

fire xpl span -i net 版本 兼容 style kit input::-webkit-input-placeholder{ color:red; } input::-moz-placeholder{ /* Mozilla Firefox 19

修改placeholder顏色

NPU intern explore ace fir pla inter In inpu <style> input::-webkit-input-placeholder{ color:red; }

css輸入框placeholder樣式修改以及背景顏色漸變設定

程式碼如下 /* placeholder 樣式設定 */ input::-webkit-input-placeholder,textarea::-webkit-input-placeholder { font-size: 0.16rem; color: #999; font-style:

iOS UINavigationController修改導航欄標題、按鈕文字以及背景的顏色

//方法一 - (void)setNav { // 導航欄背景顏色     [self.navigationController.navigationBarsetBarTintColor:[

iOS修改UISearchBar背景顏色

貌似很簡單的事啊,直接用: searchBar.backgroundColor = .red 不就OK了??? 其實,不可以!!! 因為實際上UISearchBar的層次關係是這樣的: 如果按照上面那樣設定的將是UISearchBar自身的

iOS 統一修改xib中控制元件顏色(親測真實有效)

原理:使用mac終端進行批量檔案內容替換!步驟一:找到自己需要替換的顏色,和自己想要替換成什麼顏色。如下圖根據RGB計算出大致的R值為:42/255約等於0.164705. 步驟二:選中xib檔案,右鍵“Open with External Editor”,將xib以文件格式

IOS開發—無需自定義,修改tabbar背景顏色

UIView *backView = [[UIViewalloc] initWithFrame:CGRectMake(0, 0, kDeviceW, 49)];     backView.backgroundColor = kAppColorLightGray;     [

IOS修改導航預設標題顏色、字型

// 設定導航預設標題的顏色及字型大小 self.navigationController.navigationBar.titleTextAttributes = @{UITextAt

ios UITableView修改右側滾動條的顏色

系統的方法 只有幾種顏色 typedef NS_ENUM(NSInteger, UIScrollViewIndicatorStyle) { UIScrollViewIndicatorStyl

修改input裡placeholder顏色

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { /* WebKit browsers */ color: #ddd; } input:-moz-pl

【C#】Color顏色對照表

pac eee lower fda flow dig val rim cee Color.AliceBlue 240,248,255 Color.LightSalmon 255,160,122 Color.