在此之前 看到網上寫的方法如下
- (bool)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string
nsstring * astring = [textfield.text stringbyreplacingcharactersinrange:range withstring:string];
if (self.searchtextfield == textfield) }
return yes;
} 這個方法是很麻煩的 要寫很長的**
我的方法比較簡單 判斷數字輸入的時候更簡單(前提是你會寫正規表示式)正則很簡單的 看看就會了
上**如下
- (bool
)textfield:(
uitextfield
*)textfield shouldchangecharactersinrange:(
nsrange
)range replacementstring:(
nsstring
*)string
nsstring
*newstring=[textfield.
text
:string];
bool
match=[
self
matchnumbersintextfield
:newstring]; if
(match)
else
} -(bool
)matchnumbersintextfield:(
nsstring
*)text
[.]?[0-9]?[0-9]?|[.]?$";
nspredicate
*numbersrule = [
nspredicate
predicatewithformat
:@"self matches %@"
,numbersregex];
return
[numbersrule
evaluatewithobject
:text]; }
本例中主要是限制客戶輸入最多兩位小數。重點在理解這個方法的執行過程。
UITextField輸入事件
1 2 3 4 5 6 7 8 9 10 11 bool textfield uitextfield atextfieldshouldchangecharactersinrange nsrange rangereplacementstring nsstring stringelse 但是這個函式不會...
UITextField輸入事件
發布者 seven s 2011 08 04 分類 iphone開發筆記 1 2 3 4 5 6 7 8 9 10 11 bool textfield uitextfield atextfieldshouldchangecharactersinrange nsrange rangereplaceme...
UITextField限制輸入長度
因leader要求輸入長度做限制,而且要求乙個漢字算2個字元,其他的算1個字元,再加上乙個controller有多個uitextfiled,所以我這麼寫控制長度。也許會有更好的方法 m檔案 import viewcontroller.h inte ce viewcontroller end impl...