【问题标题】:Custom TableViewCell with TextField and first responder带有 TextField 和第一响应者的自定义 UITableViewCell
【发布时间】:2009-07-15 22:17:07
【问题描述】:

我有一个包含 TextField 的自定义 TableView 单元格,我希望它在视图显示后立即成为第一响应者,但 [textcell.textfield becomeFirstResponder] 不起作用。我知道这是因为它是另一个类中的自定义单元格,我什至在那里尝试过,但没有成功。有谁知道如何解决这个问题?

谢谢...

【问题讨论】:

    标签: iphone objective-c cocoa-touch first-responder


    【解决方案1】:

    我有类似的设置,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;
        }
    

    justAddedItem 在用户单击按钮以向表中添加新行时设置。

    【讨论】:

      【解决方案2】:
      - (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];
      }
      

      【讨论】:

      • 为提高您的帖子质量,请说明您的答案将如何/为何解决问题。
      猜你喜欢
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      • 2019-10-23
      • 2015-01-05
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多