gpt4 book ai didi

ios - 滑动删除会显示应隐藏在单元格中的标签

转载 作者:行者123 更新时间:2023-11-29 02:35:47 25 4
gpt4 key购买 nike

我在尝试在我的应用程序中实现可扩展单元格时遇到了很多问题。目前的问题是,虽然我的代码可以按预期展开和折叠单元格,但它显示了在滑动删除时应该隐藏的内容,这看起来很糟糕。

另一个问题是,当我点击一个导航按钮以离开 tableview 时,其中一个单元格展开。此外,当点击一个单元格时,它似乎会松开顶部的分界线,直到点击另一个单元格。 (这些问题比较小,第一个问题比较大。)

这是我在 didSelectRowAtIndexPath 中的代码:

var selectedRowIndex: NSIndexPath = NSIndexPath(forRow: -1, inSection: 0)

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedRowIndex = indexPath
tableView.beginUpdates()
tableView.endUpdates()
}

这是我在 heightForRowAtIndexPath 中的代码:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
cellHeight = 68
if tableView != self.searchDisplayController?.searchResultsTableView {
if indexPath.row == selectedRowIndex.row {
if cellTapped == false {
cellTapped = true
cellHeight = 141
return 141
} else {
cellTapped = false
cellHeight = 68
return 68
}
}
}
return 68
}

在 cellForRowAtIndexPath 中:

if cellHeight == 141 {
cell.notesLabel.hidden = false
println("False")
} else if cellHeight == 68 {
cell.notesLabel.hidden = true
println("True")
}

目前,这段代码似乎只是让 cell.notesLabel 总是隐藏起来,因为 cellForRowAtIndexPath 在点击单元格时似乎没有被调用。

有没有人有这个问题的解决方案或更好的实现方案?我确信一定有一种更简单的方法可以做到这一点。

最佳答案

我会考虑研究自动调整单元格的大小。

tableView.estimatedRowHeight = 44.0
tableView.rowHeight = UITableViewAutomaticDimension

当您的内容发生变化时,您必须重新加载单元格并为其设置动画,但我认为使用以下方法可以更好地实现它:

reloadRowsAtIndexPaths(_ indexPaths: [AnyObject], withRowAnimation animation: UITableViewRowAnimation)

听起来你有很多手势在进行,这可能是导致你出现问题的原因。对于可拖动的单元格,请确保平移手势正在更改其偏移量的是 contentView,或者如果您的单元格的所有内容都在一个 View 中,请确保它已应用于该 View 。

关于ios - 滑动删除会显示应隐藏在单元格中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26393561/

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