
諸如這種效果的搜索框,其實就是很好的利用了UITextField的leftView
UITextField的leftView接收的對象類型是UIView.首先UITextField的邊框一開始我是下面這樣設置的.
searchTextField.borderStyle=UITextBorderStyleRoundedRect;
但是這一方法在設置leftView的時候會有影響,最大的一個影響就是leftView緊貼著UITextField的邊.從而使你的leftView顯示不全.
那么怎么換一種方式解決呢?
searchTextField.layer.cornerRadius=5.0;
searchTextField.layer.borderWidth=1.0;
searchTextField.layer.borderColor= [UIColorlightGrayColor].CGColor;
筆者使用的UITextField的layer屬性來設計與上圖一樣的樣式,最終達到了自己想要的結(jié)果.
在設置UITextField的leftView的時候可能不顯示,不顯示的原因可能有下:
1,沒有設置讓leftView顯示,leftView默認是不顯示的,所以必須主動讓他顯示,那么就設置leftViewMode屬性.
searchTextField.leftViewMode=UITextFieldViewModeAlways;
2,沒有給leftView大小,筆者以為只要給UITextField的leftView賦值就行了,leftView會有一個默認的大小,但是那只是我自己的想法,實際情況是,給UITextField的leftView賦值的時候,你所定義的View必須有大小.