【问题标题】:UITextFieldDelegate of a customcell自定义单元的 UITextFieldDelegate
【发布时间】:2011-04-03 19:21:30
【问题描述】:

在我的表格视图中,我从 nibFile 加载自定义单元格:

        customCell = (cellReponseCircuit *) [tableView dequeueReusableCellWithIdentifier:@"cell"];

        if(!customCell)
        {
            customCell = [[[NSBundle mainBundle] loadNibNamed:@"cellReponse" owner:self options:nil]lastObject];
        }

        customCell.reponse.text = [[langue singletonLangue] mot:@"Entrer votre réponse ici"]; 

        cell = [customCell retain];

我是 UITableViewCell 的子类:

@interface cellReponseCircuit : UITableViewCell {

IBOutlet UITextField *reponse;
IBOutlet UISegmentedControl *segVraiFaux;

}

@property(nonatomic,retain) IBOutlet UITextField *reponse; @property(nonatomic,retain) IBOutlet UISegmentedControl *segVraiFaux;

@结束

但我不知道将 UiTextFieldDelegate 放在哪里。因为如果我把它放在单元格类中它不起作用,如果我把它放在 tableViewController 中它不起作用。

【问题讨论】:

  • 首先,我发现您加载单元格的方式非常不干净。你在这里使用了很多副作用。为什么不将该单元格直接放入视图控制器的 nib 文件中?其次,我不明白什么在这里不起作用。也许你可以更具体一点......
  • 我想使用调用-(void)textFieldDidBeginEditing:(UITextField *)textField,但是没有调用这个方法

标签: iphone objective-c


【解决方案1】:

好的,因为文件所有者和文本字段委托之间的链接没有在 IB 中建立,现在它可以工作了。

【讨论】:

    【解决方案2】:

    您可以为单元格的每个响应属性赋予标签,并将 tableViewController 设置为委托

    customCell = (cellReponseCircuit *) [tableView dequeueReusableCellWithIdentifier:@"cell"];
    
        if(!customCell)
        {
            customCell = [[[NSBundle mainBundle] loadNibNamed:@"cellReponse" owner:self options:nil]lastObject];
        }
    
        customCell.reponse.text = [[langue singletonLangue] mot:@"Entrer votre réponse ici"]; 
        customCell.reponse.tag = indexPath.row;
        customCell.reponse.delegate = yourTableViewController; 
    
        cell = [customCell retain];
    

    在 UITextField 委托方法中,您可以通过给定标记获取单元类的特定响应属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多