字數限制的問題點在於漢語可以無限漢語詞彙,導致字數限制對於漢字輸入就失去的作用,此方法來真正的解決漢語詞彙聯想帶來的問題
在字元的限制中可能會遇到兩種情況,
第一種是如何將乙個漢字相當於兩個字元的佔位空間,
第二種是當輸入法是中文時限制字元的判斷會出錯,因為textfield :shouldchangecharactersinrange:replacementstring這個方法只能捕獲鍵盤輸入的事件,而不能捕獲選擇字元的事件。
先上**怎麼解決我自己的問題的,這個textview,textfiled一樣使用。這是根據下邊的理論,發現不能解決問題想出的「奇招」,看到第一句**,我就想
- (bool)textview:(uitextview *)textview shouldchangetextinrange:(nsrange)range replacementtext:(nsstring *)text
if (textview.text.length>=40)
else
return yes; }
下邊兩個方案是參考方案,不一定有用,因為公司測試和領導特別苛刻,不能用,也許對你有用
第一種情況解決方案:
#pragma mark -- uitextfielfdelegate imp
- (bool)textfield:(uitextfield *)textfield shouldchangecharactersinrange:(nsrange)range replacementstring:(nsstring *)string
} else
}return yes;
}// 計算轉換後字元的個數
- (nsuinteger) lenghtwithstring:(nsstring *)string
第二種情況解決方案:
#definemaxnumberofdescriptionchars 50
- (void)dealloc
- (void)viewdidload
}// 有高亮選擇的字串,則暫不對文字進行統計和限制
else
}// 中文輸入法以外的直接對其統計限制即可,不考慮其他語種情況
else}}
// 這是個委託方法,在這裡可使用可不使用。使用這個方法就是當輸入的字元超過限制時就禁止輸入。
- (bool)textview:(uitextview *)textview shouldchangetextinrange:(nsrange)range replacementtext:(nsstring *)text
}return yes;
}
TextField輸入長度和內容控制
1.限制輸入長度 ext.form.textfield 的 maxlength size 處理的並不是很好,設定了maxlength後還是可以任意輸入,國外extjs論壇看到有人的帖子,通過prototype重定義這兩個屬性,試了一下,很有效 ext.form.textfield.prototype...
限制textField長度
在 iphone 應用裡經常要限制使用者輸入字元的長度,比如密碼輸入框規定密碼長度是 x 到 y 位,下面這段 可以讓 uitextfield 限制輸入長度。bool textfield uitextfield textfield shouldchangecharactersinrange nsra...
textField的鍵盤監聽
監聽鍵盤的彈出事件 建立乙個nsnotificationcenter物件。nsnotificationcenter center nsnotificationcenter defaultcenter 監聽鍵盤的彈出通知 center addobserver self selector selecto...