0

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

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

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

谢谢。

第一次编辑: 很抱歉对此的回复晚了,这里显示的代码有点复杂。我不会在任何 textField 委托方法中放弃FirstResponder/becomeFirstResponder。您能否提出任何想法。感谢你的帮助。

第二次编辑: 对不起我的错误,我完全误解了我的问题。我会在一分钟内重新链接这里的新帖子。

第三次编辑: 这是我的新问题

4

2 回答 2

1

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

如果是这样的话,在你离开该字段后,它正在调用其中一个方法并退出键盘,然后当你触摸另一个字段时,它正在调用 firstResponder。

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

如果是,那么您可能需要将其删除或将其包装在一些适当的逻辑中。

于 2012-09-10T16:48:57.287 回答
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;
 }
于 2012-09-10T15:42:44.240 回答