2013-01-22 14 views
0

我有一個使用UITextField有一些數據輸入的表格行。 可以說我有一些數據「我的數據」 下次我回到這個活動時,我想編輯它並附加。使用雙空間鍵盤快捷鍵將結果作爲「我的數據」。iOS鍵盤快捷鍵用於替換爲「。」的雙倍空間,覆蓋我的UITextfiled數據

的問題是,當我使用雙空間shortvut它覆蓋它和替換的UITextField與價值。「」

有什麼辦法來追加該快捷方式。

我希望我能正確解釋我的問題。

+0

我有同樣的問題 - 這真的很奇怪。我相信它只發生在iOS 6上。它只發生在我放棄文本字段的第一個響應者狀態之前呈現模態視圖控制器(準確地說是「UIImagePickerController」),然後嘗試了句點快捷方式。你經常遇到一個更普遍的問題嗎? – MaxGabriel

+0

是的,它發生在我用UITextField幫助提供表格行值的編輯的所有視圖中。你可能是正確的iOS 6版本。儘管我沒有在較低版本上測試這個問題。 – mask

回答

0

很好的挖掘和一些操作後,我有以下答案,這可以幫助,如果有人有同樣的問題。

使用以下委託調用

  • (BOOL)的TextField:(的UITextField *)的TextField shouldChangeCharactersInRange:(NSRange)範圍replacementString:(的NSString *)串{

和下面的代碼複製到解決上述問題。

//Check for double space, hot key shortcut provided on keyboard. 
if((range.location > 0 && 
    [string length] > 0 && 
    [[NSCharacterSet whitespaceCharacterSet] characterIsMember:[string characterAtIndex:0]] && 
    [[NSCharacterSet whitespaceCharacterSet] characterIsMember:[[textField text] characterAtIndex:range.location - 1]])) { 

    //Manually replace the space with your own space, programmatically 
    NSRange backward = NSMakeRange(range.location - 1, 1); 
    textField.text = [rightTextField.text stringByReplacingCharactersInRange:backward withString:@". "]; 
    return NO; 
} 

這將附加。到UITextField中的現有數據。

仍在尋找更好的答案。