2012-10-10 21 views
0

我有一個UITextField會顯示一些像「rocky」的值。如果我從文本字段中刪除該文本,那麼我希望字段文本立即變回原始文本。設置一個UITextField的值

+1

是否需要某種佔位符文本?我不明白你的意思。 – Thomas

+0

thomas我不想在佔位符上顯示我想在textfield.text上顯示的不佔位符 – Rocky

+0

那麼爲什麼你不使用標籤? –

回答

0
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string]; 
    if(newString.length==0) { 
     [email protected]"rocky"; 
     textField.userInteractionEnabled=NO; 
     return NO; 
    } 
    return YES; 
} 
+0

嗨UnKnow它是工作,但是當我刪除文本顯示名稱搖滾而不是搖滾總是最後一個字符是刪除 – Rocky

+0

我編輯了我的答案它正在工作.... – Venkat

+0

未知我想刪除所有名字搖滾然後我想顯示是不希望更改不同的名稱 – Rocky

0

Intially添加的NSString *則strName作爲類object.in 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; 
} 
+0

嗨王子它工作,但是當我刪除文本顯示名字搖滾代替搖滾總是最後一個字符是刪除 – Rocky

+0

你究竟想要什麼 –

+0

我wa nt如果我刪除岩石完整,然後全名Rocky應該顯示在文本字段上它刪除後只顯示岩石 – Rocky

0
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    if(textField.length==0) { 
     [email protected]"rocky"; 
     return NO; 
    } 
    return YES; 
} 

試試這個。

1

你需要一個小的變化看我的回答:

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

return YES; 

}

你可以注意到difference.Just返回NO爲你空字符串的情況。