UITextFieldの文字数を制限するにはどうすればよいですか?UITextFieldのサイズを制限する
すなわち、私は10文字に制限すると、ユーザーは10以上を入力することができません。また、私はなど、+のようないくつかの特殊文字を入力することから彼を防ぎたい、=
私はどのように行うだろうこの?
UITextFieldの文字数を制限するにはどうすればよいですか?UITextFieldのサイズを制限する
すなわち、私は10文字に制限すると、ユーザーは10以上を入力することができません。また、私はなど、+のようないくつかの特殊文字を入力することから彼を防ぎたい、=
私はどのように行うだろうこの?
ユーザーが文字を入力することを積極的に制限したい場合は、UITextFieldがイベントを処理するための代理人を設定してから、textDidChange通知を確認します。変更されるたびに入力したテキストを見ることができます。望ましくない文字(または余分なもの、希望の制限を超えたもの)が入力された場合は、その文字を削除できます。
詳細はこちらを参照してください:あなたはあなたのビューコントローラがUITextFieldDelegate protocol
に準拠してtextField:shouldChangeCharactersInRange:replacementString:
を実装して作ることができる http://discussions.apple.com/thread.jspa?messageID=6971952
をチェックし、ユーザーが付属のBluetoothキーボードを持っている場合、私はUITextFieldDelegate – marcc
- これは、いつでもユーザーがテキストフィールドに新しい文字と呼ばれたり、既存の文字を削除しています。
あなたは、ユーザーがちょうど(+のように、=あなたの質問のように)無効な文字のためNO
を返す、有効性のために入力した文字を確認することができます。
このblog postでこの一例があります。
は、あなたのUITextFieldのためのUIKeyboardTypeNamePhonePadを使用してみてください。それはそれだけで文字と数字を持っています。ここ
textField.keyboardType = UIKeyboardTypeNamePhonePad;
でtextDidChange通知があるとは思いません、彼らは任意の文字を入力することができます、これはそれらを制限しません –
はUITextFieldののサイズを制限するためのコードサンプルです:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([[textField text] length] + [string length] - range.length > MAX_LENGTH) {
return NO;
} else {
return YES;
}
}
ありがとう!助けて頂きました。 –
多くのおかげ...これは私を助けた... – JAHelia
これは私のために動作します。
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
if([textField.text length]<=8){
[tf resignFirstResponder];
return YES;
}
else
return NO;
}
は、この[解答](http://stackoverflow.com/q/433337/1603234) – Hemang