如何在使用UITableView registerNib时分配文件所有者:从nib加载自定义的UITableViewCell?
所以我一直在寻找使用UITableView's
registerNib:
和[dequeueReusableCellWithIdentifier: forIndexPath:]
加载自定义UITableCellView
从NIB
。下面是我的控制器中的重要位:如何在使用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