gpt4 book ai didi

swift - 如何在 tableView 的特定单元格中仅执行一次代码(在 dequeueReusableCell 下)

转载 作者:行者123 更新时间:2023-11-28 15:24:58 26 4
gpt4 key购买 nike

我想更改 viewTable 中特定单元格中嵌套 View 的 Y 位置。

假设

let condition = myarray[indexPath.row]
if condition != nil {
cell.myView.frame.origin.y += 15
}

问题是,因为这是在 dequeueReusableCell 下,所以每次滚动时它都会执行代码并在之前的 y 位置上再添加 15。

为每个单元格执行一次的最佳和正确方法是什么?

最佳答案

  • 声明一个属性defaultViewY

    var defaultViewY : CGFloat = 0.0
  • viewDidLoad中获取 View 的默认y轴位置

    func viewDidLoad() {
    super.viewDidLoad()
    defaultViewY = // add code to get the default y-position or use a literal constant
    }
  • cellForRow 中不要使用 += 运算符并添加 else 子句以reset 条件为假时的 y 位置

    let condition = myarray[indexPath.row]
    if condition != nil {
    cell.myView.frame.origin.y = defaultViewY + 15.0
    } else {
    cell.myView.frame.origin.y = defaultViewY
    }

关于swift - 如何在 tableView 的特定单元格中仅执行一次代码(在 dequeueReusableCell 下),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45400272/

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