我們有時需要定製化uitextfield物件的風格,可以新增許多不同的重寫方法,來改變文字欄位的顯示行為。這些方法都會返回乙個cgrect結構,制定了文字字段每個部件的邊界範圍,甚至修改placeholder顏色,字型。
1. textview/textfield游標顏色可通過設定tintcolor屬性進行修改:
self.textview.tintcolor = [uicolor redcolor];
2、textview/textfield自定義游標長度或高度, 可通過重寫父類方法caretrectforposition:實現, 具體設定如下:
@inte***ce customtextview : uitextview
重寫父類方法:
- (cgrect)caretrectforposition:(uitextposition *)position
– textrectforbounds: //重寫來重置文字區域
– drawtextinrect: //改變繪文字屬性.重寫時呼叫super可以按預設圖形屬性繪製,若自己完全重寫繪製函式,就不用呼叫super了.
– placeholderrectforbounds: //重寫來重置佔位符區域
– drawplaceholderinrect: //重寫改變繪製佔位符屬性.重寫時呼叫super可以按預設圖形屬性繪製,若自己完全重寫繪製函式,就不用呼叫super了
– borderrectforbounds: //重寫來重置邊緣區域
– editingrectforbounds: //重寫來重置編輯區域
– clearbuttonrectforbounds: //重寫來重置clearbutton位置,改變size可能導致button的失真
– leftviewrectforbounds:
– rightviewrectforbounds:
通過– drawplaceholderinrect:方法可改變placeholder顏色、字型,請看**:
首先定義乙個類customtextfield讓它繼承uitextfield實現以下方法即可:
//控制清除按鈕的位置
-(cgrect)clearbuttonrectforbounds:(cgrect)bounds
//控制placeholder的位置,左右縮20
-(cgrect)placeholderrectforbounds:(cgrect)bounds
//控制顯示文字的位置
-(cgrect)textrectforbounds:(cgrect)bounds
//控制編輯文字的位置
-(cgrect)editingrectforbounds:(cgrect)bounds
//控制左檢視位置
-(cgrect)leftviewrectforbounds:(cgrect)bounds
//控制placeholder的顏色、字型
- (void)drawplaceholderinrect:(cgrect)rect
//下面是使用customtextfield的**,可放在viewdidload等方法中
_textfield = [[customtextfield alloc] initwithframe:cgrectmake(20, 150,280, 30)];
_textfield.placeholder = @"請輸入帳號資訊";
_textfield.borderstyle = uitextborderstyleroundedrect;
_textfield.textalignment = uitextalignmentleft;
_textfield.delegate = self;
_textfield.clearbuttonmode = uitextfieldviewmodewhileediting;
_textfield.text = @"aa";
uiimageview *imgv = [[uiimageview alloc] initwithimage:[uiimageimagenamed:@"icon-iwant-2.png"]];
_textfield.leftview = imgv;
_textfield.leftviewmode = uitextfieldviewmodealways;
[self.view addsubview:_textfield];
iOS開發textfield的一些方法彙總
1,動態獲得textfield 的輸入內容 在 bool textfield uitextfield textfield shouldchangecharactersinrange nsrange range replacementstring nsstring string新增如下 就可以獲得全部...
iOS開發textfield的一些方法彙總
1,動態獲得textfield 的輸入內容 在 bool textfield uitextfield textfield shouldchangecharactersinrange nsrange range replacementstring nsstring string新增如下 就可以獲得全部...
關於RemoteView 的一些字型的一些問題
最近在做乙個 在notification 新增 天氣通知的小部分 發現困擾在 如何給 remoteview 中的字型 作修改 大家都知道 textview 設定字型 在xml 中 可以 設定 3種 而其他字型的設定 需要通過 typeface 去設定 具體 將字型放置在asset 資料夾中 type...