gpt4 book ai didi

ios - 键盘可见时如何重绘自定义集合布局?

转载 作者:行者123 更新时间:2023-11-29 13:52:47 25 4
gpt4 key购买 nike

我有自定义集合布局来使用 uicollectionview 绘制单元格。每个 Collection View 单元格都有输入 TextView 。当用户输入文本时需要调整单元格高度。所以我调用 Collection View 使布局无效。但它会重新绘制准备布局中的所有部分和行,并自动关闭键盘。我想键盘一直保持直到用户点击关闭按钮。当用户键入文本需要增加单元格高度时。

我选择自定义布局的原因是我的应用程序需要 uicollectionview 中的行跨度和列跨度选项(合并和取消合并单元格)。这不能在普通的 uicollectionviewflowlayout 中实现。谁能帮我解决这个问题?

最佳答案

关于重绘

我当前的应用程序中有一个自定义布局。它由各种单元格组成,包括带有文本字段的单元格。我开始使用字段编辑单元格,出现键盘。然后我按下另一个可见的心愿单单元格上的按钮,将产品添加到心愿单。添加产品后,我使布局无效并重新加载愿望 list 单元格。在所有这些操作过程中,现场单元仍然是第一响应者,键盘无处可去。

But it redraws all sections and rows in prepare layout and keyboard dismissed automatically

您确定您没有调用 reloadData() 吗?重绘一切的不是布局,通常是调用 reloadData() 的开发人员。

I want to keyboard stay up until user taps close button.

因此,如果您从 reloadData() 切换到 batch updates - 键盘将保留。

关于调整大小

当您使布局无效时,您就为单元格准备了新的属性。具有新尺寸/框架的属性。但是数据源是一样​​的。这意味着 UICollectionView 只会四处移动单元格,但不会重新加载它们。您无需重新加载任何内容!只是无效并提供新的属性。字段单元格会自动增长。

示例

About redraws 中,我描述了重新加载愿望单元格的方式。另外,我添加了字段属性大小更改。您现在可以看到键盘仍然存在,字段单元格大小发生变化。现在看起来是这样的:

enter image description here

所以,我相信,您只需要处理您的布局即可。可以实现所需的行为。祝你好运,编码愉快 (:

关于ios - 键盘可见时如何重绘自定义集合布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58797485/

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