- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有自定义集合布局来使用 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 中,我描述了重新加载愿望单元格的方式。另外,我添加了字段属性大小更改。您现在可以看到键盘仍然存在,字段单元格大小发生变化。现在看起来是这样的:
所以,我相信,您只需要处理您的布局即可。可以实现所需的行为。祝你好运,编码愉快 (:
关于ios - 键盘可见时如何重绘自定义集合布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58797485/
我是一名优秀的程序员,十分优秀!