【问题标题】:Setting contentInset of collectionView which contains a tableView设置包含 tableView 的 collectionView 的 contentInset
【发布时间】:2019-04-19 05:35:41
【问题描述】:

我的情况是我有一个collectionView,它有两种类型的单元格。第一个单元格类型是一个简单的可编辑 UITextField,然后第二个单元格包含一个 UITableView,其单元格内有可编辑的 UITextFields。

我的问题是,当由于表格视图单元格内的文本字段而出现键盘并且我更改contentInset 时,更改不会发生。

这是我用来在键盘出现时更改插入的代码,它与选择集合视图单元格中的文本字段时的代码相同,它有效。

self.view.setNeedsLayout() 
self.collectionView.contentInset.bottom = inset
self.view.layoutIfNeeded()

一定有什么我想不到的东西阻止 contentInsets 改变。

我也有一个自定义的UICollectionViewLayout,尽管我认为这并不重要,因为它只与 collectionView 的内容有关,而不是 insets。

任何帮助将不胜感激。

【问题讨论】:

    标签: ios swift uitableview uicollectionview keyboard


    【解决方案1】:

    原来它工作的原因是因为其中带有 textview 的单元格正在执行一些神奇的自动滚动,而带有 table view textview 的单元格没有,我猜因为它嵌套在视图堆栈中处理这个。

    我的解决方法是调整 contentOffset 以强制滚动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多