我有一个带有单元格的标准tableView。
在这些单元格中,我需要在滚动时更改框架位置。
我根据其在tableview中的位置做了更新框架的功能(我使用convertRect(_:toView:)
)
滚动时,它工作正常,我在UIScrollViewDelegate
函数scrollViewDidScroll(_)
中调用此函数。
我的问题是在加载单元格时设置视图的初始位置。
为此,我调用我在tableView(_:willDisplayCellforRowAtIndexPath:)
中执行的相同功能,以便在视图准备好显示时设置它。
当我在功能之后记录视图框时,它具有预期的值,但在屏幕上视图位于错误的位置,就像显示器没有刷新一样。
我知道在加载视图时更改框架可能会很棘手并导致这样的事情,但我尝试了所有我能想到并发现的内容,无论在哪个tableview / cell函数中我都试图更新视图&# 39; s框架,在我开始滚动之前它不会改变。
为了记录,我尝试了:
tableView(_:willDisplayCellforRowAtIndexPath:)
viewDidAppear()
layoutSubviews()
drawRect()
我也试过自动布局中的约束,但没有任何相关。
我确定我在加载单元格时错过了更新框架的正确位置,但我无法弄明白。
感谢您的帮助
答案 0 :(得分:0)
尝试在
中设置UITableViewCell子驱动程序的初始帧的cellForRowAtIndexPath: