Ios UICollectionViewCell中UITextField的奇数集合视图滚动行为

Ios UICollectionViewCell中UITextField的奇数集合视图滚动行为,ios,objective-c,uicollectionview,uitextfield,Ios,Objective C,Uicollectionview,Uitextfield,我有一个UICollectionView和一些UICollectionViewCells包含UITextFields。当选择要编辑的UITextField时,键盘将显示,并且UICollectionView将相应地向上移动,以使活动的UITextField可见。我依赖于此默认行为,当启动UIKeyboardDidShowNotification时,UITextField实际上是正确定位的。但是,紧接着,UICollectionView将自动滚动回顶部,UITextField将移出视图(在键盘后面

我有一个
UICollectionView
和一些
UICollectionViewCells
包含
UITextFields
。当选择要编辑的
UITextField
时,键盘将显示,并且
UICollectionView
将相应地向上移动,以使活动的
UITextField
可见。我依赖于此默认行为,当启动
UIKeyboardDidShowNotification
时,
UITextField
实际上是正确定位的。但是,紧接着,
UICollectionView
将自动滚动回顶部,
UITextField
将移出视图(在键盘后面)

是什么导致了这种情况?我如何调试这种行为?请注意,
UIKeyboardDidShowNotification
的任何自定义代码(如
scrollRectToVisible
)或苹果的示例代码)都不会有帮助,因为可查看区域的滚动会在稍后阶段覆盖该代码。我只是无法找出原因

编辑以添加:

一个动画,显示在单击“循环”字段旁边时,使用硬键盘(iPad Pro)查看视图的行为。这个很好用

一个动画,用于显示在单击“循环”字段旁边时视图如何使用软键盘进行操作。这里的键盘不工作


使用TPKeyboard避免第三方已经为
UICollectioView提供了课程
感谢您的建议。我应该提到我的目标是iOS 10,正如你们必须知道的,由于iOS 9,UICollectionView已经自动避免了键盘。因此,TPKeyboardAvoiding将在iOS 9上禁用或从不禁用。我删除了此检查以进行尝试,它的性能比默认的避免更差。我真正希望得到的是如何调试UICollectionView滚动事件的建议,因此,我可以精确地指出是什么代码触发了不必要的滚动,在它最初显示正确后,会扰乱定位。我认为这种行为可能与我设置表单内容大小的方式或单元格的布局方式有关。请使用TPKeyboard,避免使用已经为
UICollectioView
提供类的第三方。谢谢您的建议。我应该提到我的目标是iOS 10,正如你们必须知道的,由于iOS 9,UICollectionView已经自动避免了键盘。因此,TPKeyboardAvoiding将在iOS 9上禁用或从不禁用。我删除了此检查以进行尝试,它的性能比默认的避免更差。我真正希望得到的是如何调试UICollectionView滚动事件的建议,因此,我可以精确地指出是什么代码触发了不必要的滚动,在它最初显示正确后,会扰乱定位。我认为这种行为可能与我设置内容大小、表单或单元格布局的方式有关。