に最大長を設定したいのですUITexField
が、これは に挿入されていUIAlertView
ます。この美しいサイトで、この問題を解決するための適切な情報を見つけようとしていますが、何もありません。
誰かがこれを手伝ってくれますか?
に最大長を設定したいのですUITexField
が、これは に挿入されていUIAlertView
ます。この美しいサイトで、この問題を解決するための適切な情報を見つけようとしていますが、何もありません。
誰かがこれを手伝ってくれますか?
これは UITextFieldDelegate メソッドのより良い実装だと思います。ユーザーの目の前でテキストの終わりを削除せず、ユーザーがそれ以上テキストを入力できないようにするだけです。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
if (newString.length > MAXLENGTH)
{
return NO;
}
return YES;
}
プロトコルの実装を忘れずにUITextFieldDelegate
、コントローラーをテキスト フィールドのデリゲートとして設定してください (Anoop Vaidya の回答を参照)。
次の方法で alertView の textField にアクセスできます。
UITextField *theTitleTextField = [alertView valueForKey:@"_bodyTextLabel"];
追加されたテキストフィールドを見つけたい場合は、 Martin RtextFieldAtIndex:
の提案に従って使用してください。
次に、UITextFieldDelegate
プロトコルを実装します。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([textField.text length] > MAXLENGTH) {
textField.text = [textField.text substringToIndex:MAXLENGTH-1];
return NO;
}
return YES;
}