2016-06-23 48 views
1

我在我的應用程序中遇到問題,當我按空格鍵兩次時,「。」(點)被添加到TextField中。我不想讓點「。」在雙擊空格鍵上。不允許點「」。「對於UITextField雙擊空格鍵

說明:我知道它是iOS中textField的默認行爲。

我引用了前面的回答iPhone: Disable the "double-tap spacebar for ." shortcut?,但它是用於textView,而不是用於textField。

我沒有得到更換,以這條線

textView.selectedRange = NSMakeRange(range.location + 1, 0) 
+2

可能重複:禁用「雙擊空格鍵的。」快捷方式?](http://stackoverflow.com/questions/2576561/iphone-disable-the-double-tap-spacebar-for-shortcut) –

+0

@Vishnugondlekar如果你可以提供我的文本框版本,這將是有益的。 –

回答

0

我有同樣的問題,然後用下面的委託方法,它解決了,用這個代碼點在文本框不顯示,

迅速代碼:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
     let newString = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string) as? NSString 

     let arrayOfString = newString?.componentsSeparatedByString("."); 
     if arrayOfString?.count > 1 
     { 
      return false 
     } 

     return true 
    } 

目標的C代碼:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    NSString *newString1 = [textField.text stringByReplacingCharactersInRange:range withString:string]; 
    NSArray *arrayOfString1 = [newString1 componentsSeparatedByString:@"."]; 

    if ([arrayOfString1 count] > 1) 
     return NO; 

    return YES; 
} 

它的工作對我來說,希望[iPhone的樂於助人的

+2

請僅用迅捷答案回答迅捷問題。 – Shubhank

+0

好吧,我會發布,我忘了。 –

+0

如果文本字段中已有文本,則不會工作。 –

0
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    if (string == ". ") { 
    return false 
    } 
    else { 
    return true 
    } 
} 
+0

SWIFT !!!!請大聲笑 –

+0

我的問題是關於雙擊空格鍵 –

+0

你可以檢查,它的工作 –