-1

我在屏幕底部有一个列表视图,在屏幕顶部有一个 4 字段输入表单。当我点击列表项时,我想将焦点设置到第一个文本字段。

我有这样的代码:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle  forRowAtIndexPath:(NSIndexPath *)indexPath
{

    ....
    ....
    else if(editingStyle == UITableViewCellEditingStyleInsert)
        {
               [self clrscreen];

               [oDescription becomeFirstResponder];
            }

但它不起作用。我是否必须首先将焦点从列表视图中移开?

4

1 回答 1

1

也许在

[self clrscreen];

处理 UI 和 UITableView 的方法被重绘。如果是这样,那么此刻你打电话给

[oDescription becomeFirstResponder];

它不在那里。请检查是否 oDescription不是nil

还有一件事:在哪里/何时调用:

....
....
else if(editingStyle == UITableViewCellEditingStyleInsert) ?
于 2011-07-11T17:39:23.683 回答