gpt4 book ai didi

ios - reloadSections : 后 UITableView 中仍然存在阴影

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:26:14 26 4
gpt4 key购买 nike

由于我们的设计师是个虐待狂,我有一个带有分段控件的 UITableView,可以在不同提要中的两种不同类型的单元格之间切换。这些单元格使用不同的标识符和类出队——这一切都很好。这些单元格共享一个父级但大小不同,出于优化原因,我在父级的 layoutSubviews() 中手动设置了 layer.shadowpath。我需要阴影:设计师的愿望。

问题是,在我切换到第二个 部分后,在表格下方的某些地方,我认为上面的单元格有阴影悬垂。正如您从第一张图片中看到的那样,有两个阴影,如果我向下滚动以遮挡最上面的可见单元格,阴影就会消失,这让我相信阴影被抵消了。进一步滚动会使这些阴影消失并且不会再次出现,直到再次切换选项卡。其余的阴影都很好。

两个影子

two shadows

稍微向下滚动

one shadow gone

当切换回上一个选项卡时,单元格较高的位置也存在阴影问题,但那些阴影太短了。如前所述,设置影子路径的代码在父类中,父类负责制作和布局包含自定义子单元格的最顶层“卡片” View 。

我以编程方式执行所有操作:设置 View 和自动布局。目前单元格高度是硬编码的。我不确定哪些信息是相关的,因为我完全不知所措,所以这里是我如何设置 shadowPath

override func layoutSubviews() {
super.layoutSubviews()
cardView.layer.shadowPath = UIBezierPath(rect: cardView.bounds).CGPath
}

为简单起见,卡片在 contentView 中布局,视觉格式如下:

"V:|-marginV-[card]-marginV-|"
"H:|-marginH-[card]-marginH-|"

最佳答案

无论出于何种原因,即使我使用了单独的类和单独的 reuseIdentifier,刚从视口(viewport)出来的第一个重用单元格的大小仍然与另一部分中的高单元格相同。当我变了

让 cell = tableView.dequeueReusableCellWithIdentifier(booksReuseIdentifier) 作为! ProfileBookCell将 indexPath 包含为

let cell = tableView.dequeueReusableCellWithIdentifier(booksReuseIdentifier, forIndexPath: indexPath) 作为! ProfileBookCell 修复了回收问题,并正确计算了边界。我在十几个不同的地方尝试了 layoutIfNeeded 但没有效果,但这修复了它。

关于ios - reloadSections : 后 UITableView 中仍然存在阴影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29884350/

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