gpt4 book ai didi

swift - tableView.beginUpdates 和 datePicker 发生奇怪的动画

转载 作者:行者123 更新时间:2023-11-30 10:10:51 24 4
gpt4 key购买 nike

在 tableView 中,我有一个按钮,按下该按钮会修改其下方单元格的高度,以展开和收缩日期选择器,使其出现和消失。但是,我遇到了一个奇怪的动画错误,选择器在关闭和打开时会波动和闪烁。

这是我的 tableView heightForRowAtIndexPath

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
if indexPath.row == 0 {
return 147
} else if indexPath.row == 4 {
if picker {
return 216
} else {
return 0
}
} else {
return 70
}
}

我的按钮操作

@IBAction func birthdateLabelTapped(sender: AnyObject) {
picker = !picker
tableView.beginUpdates()
tableView.endUpdates()
}

以及变量

var picker: Bool = false

我正在使用 Storyboard来设置静态单元。

最佳答案

环顾四周后,我似乎找不到这个问题的任何答案,但我确实找出了问题所在。

我设置了约束条件,以便尾随空间、前导空间、顶部空间和底部空间都为 -8.0。发生的情况是,当单元格膨胀和收缩时,日期选择器本身也在膨胀和收缩,这会使日期选择器在关闭时挤压,从而导致闪烁和奇怪的动画。

解决方案最终是摆脱底部空间约束,然后添加高度约束。这解决了问题,因为它不再修改 datePicker 本身,现在它只是使 datePicker 不可见。

关于swift - tableView.beginUpdates 和 datePicker 发生奇怪的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33112383/

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