如何在使用UITableView registerNib时分配文件所有者:从nib加载自定义的UITableViewCell?

所以我一直在寻找使用UITableView'sregisterNib:[dequeueReusableCellWithIdentifier: forIndexPath:]加载自定义UITableCellViewNIB。下面是我的控制器中的重要位:如何在使用UITableView registerNib时分配文件所有者:从nib加载自定义的UITableViewCell?

- (void)viewDidLoad 

[super viewDidLoad];

self.tableView.bounces = NO;

[self.tableView registerNib:[UINib nibWithNibName:@"ProgramListViewCell" bundle:nil] forCellReuseIdentifier:@"Cell"];

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

TVProgramListTableViewCell *cell = (TVProgramListTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];

cell.frame = CGRectMake(0, 0, CELLWIDTH, OPENCELLHEIGHT);

cell.selectionStyle = UITableViewCellSelectionStyleNone;

cell.clipsToBounds = YES;

cell.titleLabel.text = [NSString stringWithFormat:@"herpa derp: %i", indexPath.row];

return cell;

所以我注册NIB当视图加载,然后利用它的电池出队。到目前为止,一切工作都像我期望的那样。我的自定义TVProgramListTableViewCell正在从NIB正确加载,它的IBOutlet正在连线。

NIB包含一个视图,其中包含一个按钮,我想火灾事件的控制器。我可以将文件的所有者类型设置为我的表视图控制器类,但我不知道如何实际连接文件的所有者。

现在,如果我使用的是loadNibNamed:,并且自己加载NIB,那么连接文件所有者将很容易。在利用registerNib时有什么办法可以实现吗?除了无法连接文件所有者之外,这似乎是在UITableView中使用自定义单元格的完美方式。

回答:

据我所知,没有办法将文件的所有者设置为您的表视图控制器,并将一个操作方法连接到xib文件中的按钮 - 我已经尝试过,并且它崩溃了应用程序。通常的做法是调用addTarget:action:forControlEvents:在cellForRowAtIndexPath方法的按钮中,并将self作为目标。

以上是 如何在使用UITableView registerNib时分配文件所有者:从nib加载自定义的UITableViewCell? 的全部内容, 来源链接: utcz.com/qa/258849.html

回到顶部