2012-09-10 99 views
0

我正在使用帶有一個部分和五個單元格的uitableview,以及每個tableCell上的兩個不同的uitextfields。切換時停止鍵盤開關uitextf

我的問題是:當用戶在第一個表格行的第一個文本字段上標記時,鍵盤出現,然後用戶點擊第二個文本字段。鍵盤DISMISS和SHOW。

因此,當用戶切換焦點在文本框上時,如何保持鍵盤而不是DISMISS和SHOW?

謝謝。

第一次編輯: 抱歉,對於遲到的響應,代碼在這裏顯示有點複雜。我不會在任何textField委託方法中resignFirstResponder/becomeFirstResponder。你能不能把你的想法放在頭頂上?感謝你的幫助。

秒編輯: 抱歉我的錯誤,我完全誤解了我的問題。我會在一分鐘內在這裏重新鏈接新帖子。

第三編輯: this is my new question

+0

顯示一些代碼可能是? (在不同的領域之間切換焦點) – Vladimir

+0

請發佈代碼請 –

回答

1

這應該從我的身邊爲你工作...只是一個猜測的工作,你還沒有發佈任何代碼:

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    if(textField == firstTextfield) 
    { 
     if([[firstTextfield stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0) 
     return NO; 

     [firstTextfield resignFirstResponder]; 
     [secondTextField becomeFirstResponder]; 

     return YES; 
    } 

    else if(textField == secondTextField) 
    { 
     //Anything u want here 
     return YES; 
    } 
    return NO; 
} 
1

通常情況下,鍵盤沒有按」當你切換字段時不要自行解僱。
如果您正在使用文本字段委託並且正在通過resigningFirstResponder響應「editingDidEnd」,那麼您將看到該行爲。

如果是這種情況,離開該字段後,它將調用其中一個方法並退出鍵盤,然後當您觸摸另一個字段時,它將調用firstResponder。

因此,尋找一些代碼,您可以在其中設置文本字段委託來調用其中一個文本字段選擇器方法。找到正在調用的方法,看看它是否resigingFirstResponder。

如果是這樣,那麼您可能需要刪除它或用適當的邏輯包裝它。