0

ユーザーがキーボードのキーを押したときを特定するにはどうすればよいですか? そのためのデリゲートメソッドとは何ですか?

4

2 に答える 2

1
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSLog(@"%@",[NSString stringWithFormat:@"%d", [string length]]);
    
    if (string.length==0)
    {
        NSLog(@"This is BackSpace");
    }
    
    return YES;
}
于 2013-01-26T10:05:49.467 に答える
1

textFields テキストをゼロ幅の空白文字に設定します\u200B。空のように見えるテキストフィールドで backspace を押すと、実際にはスペースが削除されます。その後、スペースを再挿入できます。ただし、キャレットは移動しませんが、同じ位置に留まりますが、スペースを削除します。

または単に長さを確認できます

- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
 {
     NSCharacterSet *nonNumberSet = [[NSCharacterSet characterSetWithCharactersInString:@"stringsss."] invertedSet];

    if (range.length == 1) {
       return string;
    }
    else {
       return ([string stringByTrimmingCharactersInSet:nonNumberSet].length > 0);
    }   
 }

何度も尋ねられたこれらの質問の答えを確認してください。 1

2

于 2013-01-26T10:31:36.437 に答える