0

「rocky」のような値を表示するUITextFieldが1つあります。このテキストをテキスト フィールドから削除すると、フィールドのテキストをすぐに元のテキストに戻す必要があります。

4

4 に答える 4

1

小さな変更が必要です私の答えを見てください:

- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
if([newString isEqualToString:@""]){
    textField.text=@"rocky";
    return NO;
}

return YES;

}

違いがわかります。空の文字列の場合は NO を返すだけです。

于 2012-10-10T12:11:52.100 に答える
0
 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
    if(newString.length==0) {
        txtProjectName.text=@"rocky";
        textField.userInteractionEnabled=NO;
        return NO;
    }
    return YES;
}
于 2012-10-10T10:52:45.507 に答える
0

最初にNSString*strNameをクラスobjectとして追加します。viewDidLoadでこれを追加します

  strName = @"Rocky";

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
   if([[string stringByReplacingOccurrencesOfString:@" "
                                                    withString:@""] isEqualToString:@""]){
     textField.text=strName;
    }
    else
    {
      strName = text; //change name here for keeping record
    }
    return YES; 
}
于 2012-10-10T10:55:39.390 に答える
0
 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if(textField.length==0) {
        txtProjectName.text=@"rocky";
        return NO;
    }
    return YES;
}

これを試して。

于 2012-10-10T12:09:49.563 に答える