2012-09-10 66 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。

如果是这样,那么您可能需要删除它或用适当的逻辑包装它。