gpt4 book ai didi

ios - UITableViewCells 显示在其他类型的单元格上

转载 作者:行者123 更新时间:2023-11-29 00:52:50 24 4
gpt4 key购买 nike

我在 tableView 中有 2 类单元格。一个是标题卡,显示用户的姓名和照片,下面的是显示用户的 5 个菜单项。我的配置如下:

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

if indexPath.row == 0{
let cell = self.menuTable.dequeueReusableCellWithIdentifier("userInfoCard", forIndexPath: indexPath) as! userInfoCard

//Load data

return cell
}else{
let cell = self.menuTable.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! menuItemCell

在这里,我从各自的数组中加载各种项目名称。因为indexPath 0被占用,所以我的第一张菜单卡不会显示除非我用 - 1s 做下面所有奇怪的重置

        cell.itemName.text = self.itemNames[indexPath.row - 1]
cell.itemPrice.text = self.itemPrices[indexPath.row - 1]
cell.itemDescription.text = self.itemDescriptions[indexPath.row - 1]

return cell
}

}

我明白为什么第一个项目没有加载,但这是让所有菜单项都出现的正确解决方案吗?

最佳答案

使用 UITableView 部分。这样你就不需要那种棘手的操作了

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 2;
}

现在在您的 cellForRowAtIndexPath 方法中:

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

if indexPath.section == 0{
let cell = self.menuTable.dequeueReusableCellWithIdentifier("userInfoCard", forIndexPath: indexPath) as! userInfoCard

//Load data

return cell
}else{
let cell = self.menuTable.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! menuItemCell

//row starts from 0 with section 1
// No subtraction needed
cell.itemName.text = self.itemNames[indexPath.row]
}

关于ios - UITableViewCells 显示在其他类型的单元格上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37935501/

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