Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 带有文本字段和第一响应程序的自定义TableViewCell_Iphone_Objective C_Cocoa Touch_First Responder - Fatal编程技术网

Iphone 带有文本字段和第一响应程序的自定义TableViewCell

Iphone 带有文本字段和第一响应程序的自定义TableViewCell,iphone,objective-c,cocoa-touch,first-responder,Iphone,Objective C,Cocoa Touch,First Responder,我有一个自定义的TableView单元格,其中包含一个TextField,我希望它在视图显示后立即成为第一响应程序,但[textcell.TextField becomeFirstResponder]不起作用。我知道这是因为它是另一个类中的自定义单元格,我甚至在那里尝试过,但都不起作用。有人知道如何做到这一点吗 谢谢…我有一个类似的设置,成为第一响应者似乎工作得很好 我的自定义单元格: @interface CustomCell : UITableViewCell { IBOutlet

我有一个自定义的TableView单元格,其中包含一个TextField,我希望它在视图显示后立即成为第一响应程序,但[textcell.TextField becomeFirstResponder]不起作用。我知道这是因为它是另一个类中的自定义单元格,我甚至在那里尝试过,但都不起作用。有人知道如何做到这一点吗


谢谢…

我有一个类似的设置,成为第一响应者似乎工作得很好

我的自定义单元格:

@interface CustomCell : UITableViewCell 
{
    IBOutlet UITextField *costField;
}
以及控制器类中的委托方法:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString* CellTableIdentifer = @"CellTableIdentifer";

    CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellTableIdentifer];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    NSUInteger row = [indexPath row];
    ReceiptItem *receiptItem = [models objectAtIndex:row];
    if (receiptItem == justAddedItem)
    {
        [cell.costField becomeFirstResponder];
        justAddedItem = nil;
    }

当用户单击按钮向表中添加新行时,将设置JustAddItem。

要提高文章质量,请包括您的答案将如何/为什么解决问题。
- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    self.navigationController.toolbarHidden = YES;
    self.title = @"Login";

    [NSTimer scheduledTimerWithTimeInterval:0.1
                                     target:self
                                   selector:@selector(doSetFirstResponder)
                                   userInfo:nil
                                    repeats:NO];
}

- (void) doSetFirstResponder {
    [_usernameField becomeFirstResponder];
}