9

所以我一直在研究使用UITableView's registerNib:并从. 以下是我的控制器的重要部分:[dequeueReusableCellWithIdentifier: forIndexPath:]UITableCellViewNIB

- (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视图,我想向控制器发送触发事件。我可以将 File's Owner 类型设置为我的 Table View Controller 类,但我不知道如何实际连接 File's Owner。

现在,如果我正在使用loadNibNamed:并加载NIB自己,连接文件所有者将很容易。有没有办法在使用时实现这一点registerNib?除了无法连接文件所有者之外,这似乎是在UITableView.

4

1 回答 1

2

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

于 2013-04-23T03:41:23.550 回答