美文网首页
记录关于如何不降下键盘刷新collectionView

记录关于如何不降下键盘刷新collectionView

作者: Fillinse | 来源:发表于2023-01-10 11:46 被阅读0次

    我们可能会遇到一种需求,在tableView中的cell上面有个自适应的输入框,随着文字的输入,换行和cell的高度变化是必然的,但是cell的高度变化需要修改cell的高度才能生效,这时候,我们可以在文字变化后调用一下方法,cell的高度就会对应变化了(前提是cell的控件布局是自适应的)

          tableView.beginUpdates()
          tableView.endUpdates()
    

    而在collectionView中,也有对应的方法

             self?=.collectionView.performBatchUpdates({
             })
    

    之所以有这个话题,是因为如果我们调用了诸如reloadItems,reloadData之类的刷新方法,就需要去管理第一响应。你会发现,在刷新后,你调用becomeFirstResponder是不生效的,键盘并没有上来。需要延时,并且调用两次才能生效。这之中涉及到响应链和keywindow的问题。并且这样会导致键盘有个起来和落下的过程。而且会导致无法连续删除。而采用update的更新方式就不存在这个问题,当前输入框的键盘不会有任何变化(不需要在更新方法里面或外面调用任何方法)。也不会因为刷新而产生闪烁效果。正常刷新会有闪烁效果。
    附一个解决刷新闪烁的方法.(performBatchUpdates不存在闪烁问题)

          collect.delaysContentTouches = false
    

    随笔记录

    相关文章

      网友评论

          本文标题:记录关于如何不降下键盘刷新collectionView

          本文链接:https://www.haomeiwen.com/subject/lshvcdtx.html