内で作成されたテキストフィールドの最大文字列長を設定するにはどうすればよいUIAlertView
ですか? 私は Xcode 4.5 を使用しており、10.8 (OS X) でアプリをビルドしています。現在UIAlertView
、ユーザーがボタンをクリックすると起動します。ユーザーは RFID バッジをスキャンしUIAlertView
ます。ユーザーが関連付けプロセスをごまかすことができないように、入力テキストフィールドを 10 文字に制限する必要があります。
1870 次
2 に答える
3
textField のデリゲート メソッドでテキストの長さを確認できます。
textField:shouldChangeCharactersInRange:replacementString:
変更したくない場合は NO を返します。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField.text.length - range.length + string.length > 10) {
return NO;
}
return YES;
}
于 2012-11-23T14:48:14.087 に答える
2
上記の答えはほぼ正しいようです。
単一の文字を入力すると、(このメソッドの) range.length は常にゼロのように見えますが、位置は増加します。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSLog(@"Range: %@", NSStringFromRange(range));
return ( range.location < 10 );
}
編集: 1 文字の入力以外のこと、つまり行の貼り付けなどを行うと、おそらく長さが長くなります。
于 2012-12-08T23:16:13.430 に答える