ios - 展开时发现注册表单元格为零
问题描述
我正在尝试在容器视图中创建一个 tableview,以便我可以对其进行动画处理,这与常规的 UITableViewController 不同。
在情节提要中创建了一个 UIViewController,其中一个 UIView 作为“containerView”。containerView 里面是一个tableView。IDK 为什么它一直给我零。
class SearchViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.delegate = self
tableView.register(SearchViewCell.self, forCellReuseIdentifier: "SearchResult")
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "SearchResult", for: indexPath) as! SearchViewCell
cell.addressLabel.text = "Hello"
cell.subtitleLabel.text = "There"
return cell
}
}
搜索视图单元
class SearchViewCell: UITableViewCell {
@IBOutlet weak var addressLabel: UILabel!
@IBOutlet weak var subtitleLabel: UILabel!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
}
解决方案
1- 这个寄存器
tableView.register(SearchViewCell.self, forCellReuseIdentifier: "SearchResult")
仅对以编程方式创建的自定义单元有效(显然是没有插座的单元)
2-对于原型单元格(当您在布局中的表格内创建单元格时),那么您不需要寄存器
3-如果您在 xib 中创建了单元格布局,那么还有另一种注册方式
tableView.register(UINib(nibName: "SearchViewCell", bundle: nil), forCellReuseIdentifier: "cellID")
推荐阅读
- html - 带有下拉结果的 Node.js 实时搜索
- html - 如何在折叠的详细信息中显示表单所需的警告?
- react-native - 如何从 AsyncStorage 在 createMaterialBottomTabNavigator 中设置值
- javascript - 我希望能够根据角色类别及其对齐方式选择神灵列表
- jquery - jQuery:找不到由类和数据属性标识的按钮
- javascript - 迭代嵌套的 JSON 数组
- r - 使用 %in% 运算符在 R 中进行部分字符串匹配?
- php - 如何创建 GROUP BY SQL 语句
- count - 如何用我当前的问题计算 cakePHP 中的分组(groupby / group)记录?
- youtube - 如何切换 youtube 视频上的字幕?