我无法在表格视图的顶部使用一个静态单元格制作表格视图。此表格视图将包含4个按钮,其余视图将保留用户歌曲的列表。
我已经在这里研究了其他答案,但是所有答案似乎都是用目标C编写的。
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return sortedSongs.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "RecentCell", for: indexPath) as! RecentCell
//cell.songTitle.text = albumList[indexPath.row]
//cell.songArtist.text = artistList[indexPath.row]
//cell.songImage.image = imageList[indexPath.row]
return cell
}
这就是我用来设置常规表格视图的方法。我将如何修改此代码以在顶部保留一个静态单元格而在其余部分保留一个动态单元格呢?
答案 0 :(得分:1)
请勿使用Static Cells
。在表格视图中选择Dynamic Prototypes
,然后创建2个原型单元格。
并在第一部分返回第一个单元格,在第二部分返回其他单元格
override func numberOfSections(in tableView: UITableView) -> Int {
return 2
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 {
return 1
} else if section == 1 {
return sortedSongs.count
} else if section == 2 {
return anotherArrayCount
}
return 0
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "FirstCell", for: indexPath) as! FirstCell
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "RecentCell", for: indexPath) as! RecentCell
//cell.songTitle.text = albumList[indexPath.row]
//cell.songArtist.text = artistList[indexPath.row]
//cell.songImage.image = imageList[indexPath.row]
return cell
}
}
答案 1 :(得分:-1)
您可以为此使用表的HeaderView,只需将自定义视图提供给即可。 tableHeaderView属性 示例:
override func viewDidLoad() {
super.viewDidLoad()
let myCustomView = MyCustomView()
tableView.tableHeaderView = myCustomView
}
文档:https://developer.apple.com/documentation/uikit/uitableview/1614904-tableheaderview