textfield炭分,顧名思義,輸入文本框剑肯,如果是在storyboard直接拖一個(gè)這樣的控件到view上捧毛,則只會(huì)顯示一個(gè)文本框,但是我們有更多地需求退子,比如說在文本框的左邊設(shè)置一個(gè)圖像,這樣用戶看到這個(gè)文本框的時(shí)候能夠憑直覺憑經(jīng)驗(yàn)知道這個(gè)文本框是用來輸入什么內(nèi)容的型将。那么我們可以這樣設(shè)置文本框:
// 設(shè)置賬號(hào)文本框左邊視圖
// 如果是系統(tǒng)控件中的子控件通常位置是由系統(tǒng)決定寂祥,我們不能設(shè)置,但是我們可以設(shè)置它的尺寸七兜。
UIImageView *leftV = [[UIImageView alloc] initWithImage:image];
// 設(shè)置圖片居中
leftV.contentMode = UIViewContentModeCenter;
CGRect frame = leftV.frame;
frame.size.width += 10;
leftV.frame = frame;
// 設(shè)置文本框的左邊視圖
textField.leftView = leftV;
// 必須要設(shè)置左邊視圖模式丸凭,總是顯示模式
textField.leftViewMode = UITextFieldViewModeAlways;
這里要非常注意:一定要記住設(shè)置leftViewMode這個(gè)屬性,否則腕铸,文本框左邊的圖像無法顯示惜犀。
也可以改變占位文字的顏色,比如說有這樣一個(gè)需求狠裹,當(dāng)文本框處于正在編輯狀態(tài)時(shí)虽界,占位文字由灰色(默認(rèn))變?yōu)榘咨瑒t可以這樣設(shè)置:
- (BOOL)becomeFirstResponder
{
[self setValue:[UIColor whiteColor] forKeyPath:placeholderTextlable.textColor];
return [super becomeFirstResponder];
}
這樣似乎有點(diǎn)不太和諧涛菠,此時(shí)占位文字顏色是變白了莉御,但是光標(biāo)卻是藍(lán)色的(默認(rèn))撇吞,那么我們就有必要對(duì)光標(biāo)顏色進(jìn)行改變,這個(gè)改變最好在初始化的適合設(shè)置:
- (void)awakeFromNib
{
// 設(shè)置光標(biāo)顏色
self.tintColor = [UIColor whiteColor];
}