2013-08-19 36 views
0

對於iOS 6.0和更高版本,UITextField無法按預期工作,每當我嘗試限制用戶輸入一個WhiteSpace時,它都會輸入空格上方的行中可用的字符(例如'C','V','B','N','M')。{iOS 6.0} UITextField - 限制用戶進入WhiteSpace

我使用行下面的代碼,以避免空白符但是相同的代碼可以完美運行於iOS的5.0

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

    BOOL flag = YES; 

    NSString *resultingString = [textField.text stringByReplacingCharactersInRange: range withString: string]; 
    NSCharacterSet *whitespaceSet = [NSCharacterSet whitespaceCharacterSet]; 

    if ([resultingString rangeOfCharacterFromSet:whitespaceSet].location == NSNotFound) 
     flag = YES; 
    else 
     flag = NO; 

    return flag; 
} 

什麼建議嗎?

回答

1

嘗試這個

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ 
    if ([string isEqualToString:@" "]) 
     return NO ; 

    return YES ; 
}