gpt4 book ai didi

ios - 在 TableView 中返回多个 dequeueReusableCells,Swift

转载 作者:可可西里 更新时间:2023-11-01 01:05:35 25 4
gpt4 key购买 nike

我试图解决的问题是为加载的任务返回多个单元格,因为如果不加载全新的任务我就无法迭代。

每个 View 都有一个或多个应该为该特定任务加载的单元格,但我似乎无法解决该问题。感谢您的帮助!

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let categoryCells = self.tasks[indexPath.row] as? Task
var cellChooser: BoredTaskCell!

if selectedTaskCategory == "Movie"{
let cell = tableView.dequeueReusableCellWithIdentifier("imdbCell") as! BoredTaskCell!
cell!.selectionStyle = UITableViewCellSelectionStyle.None
cellChooser = cell
}
else if selectedTaskCategory == "Lifestyle" {
let emailCell = tableView.dequeueReusableCellWithIdentifier("emailCreatorCell") as! BoredTaskCell!
emailCell!.selectionStyle = UITableViewCellSelectionStyle.None
cellChooser = emailCell

}
else {
let emptyCell = tableView.dequeueReusableCellWithIdentifier("messageCell") as! BoredTaskCell!
cellChooser = emptyCell
emptyCell!.selectionStyle = UITableViewCellSelectionStyle.None
}

return cellChooser
}

最佳答案

简短的回答是,您不能从对 cellForRowAtIndexPath 的一次调用中返回两个单元格。 .但要实现您想要的效果,请更改构建 tableView 的方式,因此它有一个部分用于每个任务,而不是一个单元格用于每个任务。即使用 indexPath.section作为数组的索引。您将需要修改所有 TableView 数据源方法(例如 numberOfSectionsInTableView 将返回 self.tasks.count )。窍门在numberOfRowsInSection ,通常应返回 1,但对于那些需要两个单元格的任务,它应返回 2。然后在 cellForRowAtIndexPath 中, 您可以使用 indexPath.section 确定要显示的任务.然后,如果 indexPath.row 为 0,则使用一种单元格类型(例如 imdbcell),如果为 1,则使用其他单元格类型(例如,消息单元格)。

关于ios - 在 TableView 中返回多个 dequeueReusableCells,Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31365876/

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