繁体   English   中英

重新加载部分时没有动画的Tableview仍然抖动

[英]Tableview with no animation still jitters when I reload section

在表格视图的部分中。 我有一些可选的行。 在该部分的标题内,我有一个Deselect All按钮。

如果deselect all某行,则需要启用deselect all按钮;如果没有选择任何行,则需要禁用该按钮。 通过读取布尔值可以启用/禁用该按钮。 我在该布尔值上有一个didSet

var shouldEnableDeselectButton = false
    {
        didSet{
            if oldValue != shouldEnableDeselectButton{
                DispatchQueue.main.async {
                    self.notesTable.reloadSections([self.indexofFilter], with: .none)
                }
            }
        }
    }
  • 如果我在didSet绝对不执行任何操作,则只能通过出队列/向上滚动或向下滚动并离开屏幕来进行更新。 见下文:

在此处输入图片说明

  • 如果我执行self.notesTable.reloadSections([someSection], with: .none)则它更长的时间要求节标题出队。 但是,如果我选择了最后几行之一,则会严重抖动:请参见下文:

在此处输入图片说明

我在网上看了看,发现解决方案中提到的Reload tableview部分没有滚动或动画,但它们仍然抖动

需要做两件事:

  1. 获取对headerView的引用/指针。 例如这个答案。

  2. 将按钮作为属性 我最初只是将其作为子视图使用。 那还不够! 为此,我将sectionHeader设置为UITableViewHeaderFooterView子类,然后将按钮添加为属性。

然后,我isEnabled更改按钮的isEnabled属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM