上記の回答のいくつかの問題は、たとえば、テキストフィールドがあり、15 文字の入力制限を設定する必要がある場合、15 文字を入力すると停止します。しかし、彼らは削除することを許可していません。つまり、削除ボタンも機能しません。私は同じ問題に直面していたので。以下に示す解決策が出てきました。私にぴったりの作品
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if(textField.tag==6)
{
if ([textField.text length]<=30)
{
return YES;
}
else if([@"" isEqualToString:string])
{
textField.text=[textField.text substringToIndex:30 ];
}
return NO;
}
else
{
return YES;
}
}
タグを「6」に設定し、最大文字制限 = 30 に制限したテキスト フィールドがあります。すべての場合で正常に動作します。同様に、他のテキストフィールドにタグを設定し、同じ方法で制限を定義できます。