2014-01-17 63 views
0

我用這個方法來代替,並在檢查的UITextField實時輸入無法正常工作,但是這在iOS 7不起作用 - 64位shouldChangeCharactersInRange在ios7-64bit

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    if (textField == textInput) { 

     NSString * text = [textField.text stringByReplacingCharactersInRange:range withString:string]; 
     text = [text stringByReplacingOccurrencesOfString:@"*" withString:@"?"]; 
     [textField setText:text]; 
     return NO; 
    } 
return YES; 
} 

這個文本字段我檢查,只輸入數字,但在ios7-64bit它只能輸入最多4個數字。

有沒有解決方案?

+0

你如何聲明這個** **爲textInput但 –

回答

0

shouldChangeCharactersInRange這應該和IOS7一樣工作。代表UITextField的代表沒有變化。

檢查這些: 確保關於delegate set to the UITextField

self.textInput.delegate = self; 

而且你肯定的if (textField == textInput)

此代碼爲我工作的罰款條件。 :

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ 
    NSString * text = [textField.text stringByReplacingCharactersInRange:range withString:string]; 
    text = [text stringByReplacingOccurrencesOfString:@"*" withString:@"?"]; 
    [textField setText:text]; 
    return NO; 
} 
+0

在ios7-64bit(設備:iphone5s)。這項工作不正確。當我輸入數字最大是4,但我想輸入更多 – NguyenStorm

相關問題