gpt4 book ai didi

ios - 如何在静态 TableViewCell 中显示 UICollectionView?

转载 作者:行者123 更新时间:2023-11-28 13:55:16 25 4
gpt4 key购买 nike

我想在静态 TableViewCell 中显示 UICollectionView

我有一个包含 CollectionView 的静态 TableViewCell。嗯,问题是,在我看来,代码看起来不错,但是当我启动程序时,TableViewCell 没有向我显示 CollectionView。我有点困惑,所以如果你能帮助我,我会很高兴。谢谢

TableViewController 类:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var Cell = tableView.dequeueReusableCell(withIdentifier: "Action")
switch indexPath.section {
case 0:
tableView.register(ScheduleCell.self, forCellReuseIdentifier: "Schedule")
Cell = tableView.dequeueReusableCell(withIdentifier: "Schedule") as! ScheduleCell

case 1:
return Cell!

case 2:
tableView.register(MarksCell.self, forCellReuseIdentifier: "Marks")
Cell = tableView.dequeueReusableCell(withIdentifier: "Marks") as! MarksCell

default:
Cell = tableView.dequeueReusableCell(withIdentifier: "Action") as! ActionCell
}

return Cell!
}

Action 单元格:

extension ActionCell: UICollectionViewDelegateFlowLayout, UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 3
}

func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ActionCell", for: indexPath) as! ActionsCollectionViewCell
var Labels = ["РАСПИСАНИЕ", "ДОМАШНИЕ ЗАДАНИЯ", "ОЦЕНКИ"]
var Icons = ["Safari", "DZ", "Rating"]
var Colors = [UIColor.init(red: 26/255, green: 196/255, blue: 234/255, alpha: 1),
UIColor.init(red: 251/255, green: 143/255, blue: 25/255, alpha: 1),
UIColor.init(red: 251/255, green: 25/255, blue: 118/255, alpha: 1)]
cell.Title.text = Labels[indexPath.item]
cell.Icon.image = UIImage.init(named: Icons[indexPath.item])
cell.Button.backgroundColor = Colors[indexPath.item]
return cell
}
}

此外,我必须注意到在 Storyboard 中我提到了所有类和 ReuseID

最佳答案

如果您使用带有静态单元格的“UITableView”作为内容,则无需实现“tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)”,一切都可以在 Storyboard 中定义。

这是 UITableViewController 在 Storyboard中的样子,使用自定义单元格(TableCell、CollectionCell)作为表和 Collection View ,并具有“UITableViewCell” 作为包含“UICollectionView”的数据源:

enter image description here

这是 UITableViewController 的实现:

class ViewController: UITableViewController {

}

class TableCell: UITableViewCell {

}

class CollectionCell: UICollectionViewCell {

}

extension TableCell: UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionCell", for: indexPath)

return cell
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}
}

关于ios - 如何在静态 TableViewCell 中显示 UICollectionView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53968979/

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