gpt4 book ai didi

swift - 更新 cellForRowAtIndexPath 中的单元格不起作用

转载 作者:行者123 更新时间:2023-11-28 06:38:59 27 4
gpt4 key购买 nike

我有一个 UITableView,它允许我在选择父行时有子行,以便展开。

这是我的父行:

enter image description here

如果我选择该行,它就会展开:

enter image description here

我想让子行元素缩进一点,这样看起来下面的项目确实是子元素。

在我的 UITableViewCell 中,我在为单元格设置图标和标题时添加了这段代码:

func setData(data: ExpandableCell,indexPath : NSIndexPath)
{

self.itemImg.image = UIImage(named: data.icon)
self.itemTitle.text = data.title

if(!data.isParent){

// indent views
self.itemImg.frame.origin.x = 53
self.itemTitle.frame.origin.x = 85
}

if(data.childs.count == 0){

// remove the expand - collpase icon when its child row
self.expandImg.removeFromSuperview()
}

}

我遇到的问题是第一次显示子行时它没有缩进图标和标签。它一直工作到第二次:

First time the child row is shown (didn't work):

enter image description here

Second time the child row is shown (this time works!)

enter image description here

我是否必须设置一些东西才能始终有效?我已经这样做了:SetNeedDisplay() 但仍然有相同的行为。

最佳答案

问题是你的逻辑不完整:

    if(!data.isParent){

很好,但是如果 data.isParent 为真呢?那你不说怎么办。请记住,细胞是重复使用的。您需要准备好清空已经填充的单元格并重新配置它。

关于swift - 更新 cellForRowAtIndexPath 中的单元格不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38425494/

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