2011-07-27 14 views
1

どのようにしても、対象のテキストフィールドに入力する単語の制限を設定する方法を教えていただけますか? 私の場合、私は登録フォームを持っており、登録フォームにはすべてのユーザーがusername,passwordemailおよびphone no.と入力する必要があります。したがって、最大15文字の名前を入力するように制限する必要があります。テキストフィールドでの制限の設定方法は?

どのようにすればいいですか?

+2

可能複製(http://stackoverflow.com/questions/433337/iphone-sdk-set-max-文字長テキストフィールド) –

+0

この投稿は、おそらくあなたが探しているものがあります。 http://stackoverflow.com/questions/433337/iphone-sdk-set-max-character-length-textfield – AlexFZ

答えて

2

UITextFieldの入力数を以下の両方の方法で制限することができます。

まず第一に、そして、あなたのUIViewControllerに次のコードスニペットを追加UITextField

yourTextField.delegate = self; 

にデリゲートオブジェクトとして関連UIViewControllerを設定します。

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 
    if ([textField.text length]<15) { 
      return YES; 
    } 

    return NO; 
} 

またはあなたのUIViewControllerインターフェース

@interface YourViewController()<UITextFieldDelegate> 
    // YourViewController.m 
@end 

UITextFieldDelegateプロトコルを定義し、あなたのクラスに次shouldChangeCharactersInRangeのタスクを実装することができます。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 
    NSUInteger newLength = [textField.text length] + [string length] - range.length; 
    return (newLength > 15) ? NO : YES; 
} 
+0

これは間違っていますユーザのtypiの結果としてテキストフィールドのテキストが変化する前の長さを考慮するそれは何ではないでしょうか。詳細については、重複とマークされている質問を確認してください。 –

+0

@deepak now .......... –

2

これを試してみてください:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { 

NSString *textFieldText = [textField.text stringByReplacingCharactersInRange:range withString:string]; 

     if ([textFieldText length] > 15) 
     { 
      return NO; 
     } 

return YES; 
} 
[iPhone SDK:セットの最大文字長のTextField]の
関連する問題