0

コマを削除するための関数deleteCharactersInRangeを持つデリゲートに接続されたUItextfieldがいくつかあります。これらのフィールドの1つを編集し始め、任意の文字を書き込んでからそれらを削除したい場合、iPadの削除ボタン、キーボードが機能しないことがわかりました。何も削除されません。

なぜ??

これはコードです

- (BOOL)textField:(UITextField *)tf shouldChangeCharactersInRange:(NSRange)r replacementString:(NSString *)str
{
    if (tf == namegroup) {
        if ([str isEqualToString:@","]) {
            return NO;
        }
        return YES;
    }

    if ([[newmessagename text] length] + [str length] - r.length > 30) {
        return NO;
    } else {
        return YES;
    }

    if (tf != namegroup ||tf != newmessagename){
    return YES;
        }
}
4

1 に答える 1

0

コードを次のように変更して修正しました。

- (BOOL)textField:(UITextField *)tf shouldChangeCharactersInRange:(NSRange)r replacementString:(NSString *)str
{
if (tf == namegroup) {
    if ([str isEqualToString:@","]) {
        return NO;
    }
    return YES;
}

if (tf == newmessagename) {
if ([[newmessagename text] length] + [str length] - r.length > 30) {

    return NO;
    }

    return YES;
}
}
于 2012-09-07T15:59:03.330 に答える