切换uitextf时停止键盘解除

时间:2012-09-10 15:22:38

标签: ios uitextfield becomefirstresponder

我正在使用带有一个部分和五个单元格的uitableview,以及每个tableCell上的两个不同的uitextfields。

我的问题是:当用户选中第一个表行的第一个文本字段时,键盘出现,然后用户点击第二个文本字段。键盘DISMISS和SHOW。

那么当用户将焦点切换到文本字段时,如何保持键盘而不是DISMISS和SHOW?

感谢。

首次修改 对于迟到的回复对不起,代码有点复杂,在这里显示。我没有在任何textField委托方法中使用resignFirstResponder / becomeFirstResponder。你能不能在头脑中提出任何想法。感谢你的帮助。

第二次修改 对不起我的错误,我完全误解了我的问题。我将在一分钟内重新点击这里的新帖子。

第三次修改 this is my new question

2 个答案:

答案 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 :(得分:1)

通常,当您切换字段时,键盘不会自行解除 如果您正在使用文本字段委托并通过resigningFirstResponder响应“editingDidEnd”,那么您将看到该行为。

如果是这种情况,在离开字段后,它会调用其中一种方法并重新调整键盘,然后当您触摸另一个字段时,它会调用firstResponder。

因此,查找一些代码,在其中设置文本字段委托以调用其中一个文本字段选择器方法。找到正在调用的方法,看看它是否是resigingFirstResponder。

如果是,则可能需要将其删除或以适当的逻辑包装。