gpt4 book ai didi

ios - 单元格背景颜色清除插入行时的奇怪行为

转载 作者:搜寻专家 更新时间:2023-11-01 07:14:31 26 4
gpt4 key购买 nike

不是重复的:
问题/答案是关于改变颜色的。我可以更改单元格的颜色,但在使用“颜色”.clear 并插入单元格时遇到问题,单元格正在“重置”。

每当我将单元格的背景颜色设置为 .clear 并在表格中插入一行时,单元格将自动“重置”到其原始状态。当背景颜色具有值时,不会发生这种情况。

例如:

override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)

let gesture = UIPanGestureRecognizer()
gesture.addTarget(self, action: #selector(handlePan))
gesture.delegate = self

addGestureRecognizer(gesture)

backgroundColor = .clear
}

func handlePan(_ recognizer: UIPanGestureRecognizer) {
if recognizer.state == .changed {
let translation = recognizer.translation(in: self).x

contentView.frame.origin.x += translation

recognizer.setTranslation(.zero, in: self)
}

if recognizer.state == .ended {
guard let index = delegate?.tableView.indexPath(for: self) else { return }

delegate?.insert(index)
}
}

我的 View Controller :

func insert(_ index: IndexPath) {
let cell = tableView.cellForRow(at: index) as? PannableCell

items.append("some")

let path = IndexPath(row: index.row + 1, section: index.section)

tableView.insertRows(at: [path], with: .fade)
}

问题:
如何将单元格的背景颜色设置为 .clear 并在不重置单元格的情况下插入一行?我想要这个是因为在我插入单元格后,我想将原始单元格动画化回其原始位置。

编辑:
设置 backgroundColor 的颜色仅在 iOS 9 中有效。在 iOS 10 中它仍然以某种方式重置单元格..

最佳答案

将您的插入内容更改为:

tableView.beginUpdates()
tableView.insertRows(at: [path], with: .fade)
tableView.endUpdates()

关于ios - 单元格背景颜色清除插入行时的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42940223/

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