gpt4 book ai didi

ios - 使用 UITableView registerNib : to load a custom UITableViewCell from nib? 时如何分配文件所有者

转载 作者:可可西里 更新时间:2023-11-01 02:59:01 33 4
gpt4 key购买 nike

所以我一直在考虑使用 UITableView's registerNib:[dequeueReusableCellWithIdentifier: forIndexPath:] 加载自定义 来自 NIB 的 UITableCellView。以下是我的 Controller 的重要部分:

- (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;

所以我在加载 View 时注册 NIB,然后将其用于单元格出队。到目前为止,一切都像我期望的那样工作。我的自定义 TVProgramListTableViewCell 正在从 NIB 正确加载,它的 IBOutlet 正在连接。

NIB 包含一个带有按钮的 View ,我想向 Controller 发送触发事件。我可以将文件所有者类型设置为我的 TableView Controller 类,但我不知道如何实际连接文件所有者。

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

最佳答案

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

关于ios - 使用 UITableView registerNib : to load a custom UITableViewCell from nib? 时如何分配文件所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16160351/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com