为自定义 UITableViewCell 加载和注册 nib 时未调用 prepareForSegue
Posted
技术标签:
【中文标题】为自定义 UITableViewCell 加载和注册 nib 时未调用 prepareForSegue【英文标题】:prepareForSegue not called when load and register nib for custom UITableViewCell 【发布时间】:2015-02-26 11:51:43 【问题描述】:这是我用来显示自定义单元格的代码(我从 nib 文件加载):
- (void)viewDidLoad
[super viewDidLoad];
UINib *nib = [UINib nibWithNibName:@"BR1LineCellRightImg" bundle:nil];
[self.tableView registerNib:nib forCellReuseIdentifier:@"BR1LineCellRightImg"];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
BR1LineCellRightImg *cell = [tableView dequeueReusableCellWithIdentifier:@"BR1LineCellRightImg"];
//extra code
return cell;
然而,prepareForSegue 方法将永远不会被调用,尽管我已经在 Storyboard 中使用自定义类和标识符设置了原型单元的 segue,并且标识符是“BR1LineCellRightImg”
【问题讨论】:
如果您在情节提要中使用原型单元格,那么您不应该为重用标识符注册 nib 文件 - 它会覆盖您在情节提要中的任何配置。您应该直接在情节提要中布置原型单元格。 感谢您的回复。我想我必须接受你的建议 【参考方案1】:如果您在情节提要中使用原型单元格,则不应为重用标识符注册 nib 文件 - 它会覆盖您在情节提要中的任何配置。
您应该直接在情节提要中布局原型单元,然后情节提要流程将为您注册重用标识符。
【讨论】:
以上是关于为自定义 UITableViewCell 加载和注册 nib 时未调用 prepareForSegue的主要内容,如果未能解决你的问题,请参考以下文章
Objective c - 为自定义 UITableViewCell 的按钮处理按钮触摸事件的最佳实践
FirebaseUi - Swift - 将 UITableViewCell 的值转换为自定义类
如何使选定的单元格为自定义单元格 UITableViewCell 变成不同的颜色