gpt4 book ai didi

ios - 如何在按住表格 View 单元格时逐渐增加它的大小

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:30:15 29 4
gpt4 key购买 nike

我想做什么(逐字): 在指定的时间内保持一个 tableview 单元格。一旦达到该时间段,单元格高度就会逐渐增加。当我松开手指时,单元格高度停止增长。

我有什么:我有几个 tableViewCells。使用以下命令在单元格上按下指定的时间后:

let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: Selector("longPress:"))
longPressRecognizer.minimumPressDuration = 1.0s
longPressRecognizer.delegate = self
self.view.addGestureRecognizer(longPressRecognizer)

我想增加单元格高度。但是我不能在不知道触摸位于哪一行的情况下这样做,所以我到了这里:

func longPress(longPressGestureRecognizer: UILongPressGestureRecognizer) {
if longPressGestureRecognizer.state == UIGestureRecognizerState.began {
let touchPoint = longPressGestureRecognizer.location(in: self.tableView)
if let indexPath = tableView.indexPathForRow(at: touchPoint) {
//let cell = tableView.cellForRow(at: indexPath)
}
}
}

我考虑过控制 rowHeight,但那只是在 tableView 函数中,所以我不知道如何调用它。

我不确定如何进行。而且我不寻找任何与 .beginUpdates 和 .endUpdates 有关的东西,因为我希望细胞生长是渐进的,最好是动画的。

任何帮助将不胜感激,因为我已经为这个特定问题寻找答案很长时间了。

包含 rowHeight 声明的代码:

     override func viewDidLoad() {
super.viewDidLoad()

// let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: Selector("longPress:"))
// longPressRecognizer.minimumPressDuration = 1.0 // 1 second press
// longPressRecognizer.delegate = self
// self.view.addGestureRecognizer(longPressRecognizer)

tableView.delegate = self
tableView.dataSource = self
tableView.allowsSelection = false

self.tableView.reorder.delegate = self

view.backgroundColor = UIColor(red:0.64, green:0.93, blue:0.78, alpha:1.0)
tableView.backgroundColor = UIColor.clear

tableView.rowHeight = 84
tableView.rowHeight = UITableViewAutomaticDimension


// Do any additional setup after loading the view.
}

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100
}

最佳答案

Declare property for height of the cell and return this property in the tableviews's delegate method heightForRowAtIndexPath method

var heightForCell = 100

func longPress(longPressGestureRecognizer: UILongPressGestureRecognizer) {
if longPressGestureRecognizer.state == UIGestureRecognizerState.began {
let touchPoint = longPressGestureRecognizer.location(in: self.tableView)
if let indexPath = tableView.indexPathForRow(at: touchPoint) {

self. heightForCell = // height you want to set
// now reload cell again
}
}
}

关于ios - 如何在按住表格 View 单元格时逐渐增加它的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48784134/

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