gpt4 book ai didi

ios - 自定义可滑动的表格 View 单元格,一旦打开新的就关闭其他单元格

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

我正在关注 raywenderlich ( How To Make A Swipeable Table View Cell With Actions ) 网站的教程,该教程向您展示了如何使用层和委托(delegate)创建自定义单元格。

现在我的一切都正常工作了,我希望我的一个单元格在另一个单元格打开时关闭,我该如何实现?或者像 Messenger 应用程序一样,不允许用户打开另一个单元格选项,除非他们关闭当前单元格选项。

我无法解决这个问题,我看到很少有人在评论中也问同样的问题,但没有人回复。

任何有Objective-C知识的人,没关系,我可以自己翻译成swift。

我使用本教程的原因是因为 Apple API 不允许将自定义按钮(使用 PaintCode)用作操作按钮。

最佳答案

我为任何试图实现相同方法的人找到了一个非常简单的解决方案。

创建方法 - closeOtherCells:

由于我们将所有单元格存储在 NSMutableSet 中,我们可以看到哪些单元格可用于关闭。

func closeOtherCells(close close: Bool){
if close{

//Check For Available Cell
for cells in cellsCurrentEditing {

//Get Table Cells at indexPath
var cellToClose: CustomTableViewCell = self.tableView.cellForRowAtIndexPath(cells as! NSIndexPath) as! CustomTableViewCell

//Call Reset Method in our Custom Cell.
cellToClose.resetConstraintContstantsToZero(true, notifyDelegateDidClose: true)
}
}
}

现在只需在您的 cellDidOpen: 委托(delegate)方法中使用 true 参数调用 closeOtherCells:

func cellDidOpen(cell: UITableViewCell) {

//Close Other Cells
closeOtherCells(close: true)

//Store Open Cell in NSMutableSet
let indexPath: NSIndexPath = self.tableView.indexPathForCell(cell)!
self.cellsCurrentEditing.addObject(indexPath)
}

我希望这对其他人有帮助。 :)

关于ios - 自定义可滑动的表格 View 单元格,一旦打开新的就关闭其他单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33425863/

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