我正在尝试将tableview中的单元格从generic更改为custom并创建了一个新的tableview单元类。但是,我无法让单元格识别新的自定义单元格。相反,它仍然显示通用单元格,尽管我已将故事板中的设置更改为标识检查器中的自定义,并且还将tableview单元格的类更改为新的自定义单元格。我还将故事板中单元格中的元素连接到新的自定义类。
我的理解是tableview VC知道从tableView cellForRowAtIndexPath
方法使用哪个类,我也用下面的代码改变了它。该项目编译但继续显示旧的通用单元格。任何人都可以看到错误或建议还有什么可做吗?
#import "customCell.h"
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
customCell *cell = (customCell *)[self.tableView dequeueReusableCellWithIdentifier:@"Cell"];
Items *item = [self.fetchedResultsController objectAtIndexPath:indexPath];
return cell;
}
提前感谢任何建议。
修改:
通过拖动uielements在桌面视图顶部的故事板中创建自定义单元格。也许这是个问题:
单元格样式设置为自定义:
答案 0 :(得分:2)
您需要创建新的UITableViewCell并启用“创建XIB文件...”。 在XIB中创建自定义单元格,并将其自定义类作为您刚刚创建的类。
然后在tableView cellForRowAtIndexPath
注册Nib :(它很快但我打赌你可以找出目标c并行...)
tableView.registerNib(UINib(nibName: "YourUITableViewCellClass", bundle: nil), forCellReuseIdentifier: "YourCustomIdentifierFromTheCustomClass")
然后访问您的手机:
var cell = tableView.dequeueReusableCellWithIdentifier("YourCustomIdentifierFromTheCustomClass")
就是这样。
答案 1 :(得分:0)
答案 2 :(得分:0)
创建自定义单元格时,您必须执行以下操作:
在故事板上设置标签,图像等。
创建自定义单元格类(继承自 UITableViewCell)(CustomCell.h& .m),CustomCell.h拥有全部 作为标签,图像等的iboutlet的属性并将它们全部合成 在实施中。
创建此自定义类后,请返回故事板,选择 自定义单元格,将其类更改为CustomCell并给它一些 标识符如“MyCustomCell”,然后右键单击自定义单元格 并将IBOutlets与标签等连接起来。
现在,在要实现的类中导入CustomCell类 UITableView并使用您在CustomCell中定义的属性 类。
location /static {
alias /path/to/static/assets;
}
答案 3 :(得分:0)
您可以通过拖动单元格视图在主故事板中创建自定义单元格。
为该原型创建自定义类。
在标识符检查器中提及类名。
将该类导入视图控制器.h文件。
并将您的自定义从主要故事板连接到自定义class.h文件。
它有效!。
答案 4 :(得分:0)
请注意,每个普通的 tableViewCell 都有一个内置和隐藏的 UIImageView。
在 Objective-C 中,您只需在 cellForRowAtIndexPath
中执行此操作,
cell.imageView.image = [UIImage imageNamed:@"My awesome image"];
在 Swift 中,它非常接近。
cell.imageView?.image = UIImage(named: "My awesome image")