Ios CollectionView滚动时集合视图文本字段TextFieldDiEndEdit

Ios CollectionView滚动时集合视图文本字段TextFieldDiEndEdit,ios,uicollectionview,Ios,Uicollectionview,我有一个自定义布局的集合视图。它包含用户可以更新的文本字段,并将保存到数组中。文本字段占据了整个集合视图单元格,基本上它看起来像Microsoft Excel等,可以水平和垂直滚动 问题是,如果在文本字段中输入一个数字并滚动集合视图而不点击return,则单元格将退出队列,索引路径将变为null 如果集合视图被滚动,我希望文本字段结束编辑 下面是我用于TextFieldDiEndediting的代码 - (void)textFieldDidEndEditing:(UITextField *)te

我有一个自定义布局的集合视图。它包含用户可以更新的文本字段,并将保存到数组中。文本字段占据了整个集合视图单元格,基本上它看起来像Microsoft Excel等,可以水平和垂直滚动

问题是,如果在文本字段中输入一个数字并滚动集合视图而不点击return,则单元格将退出队列,索引路径将变为null

如果集合视图被滚动,我希望文本字段结束编辑

下面是我用于TextFieldDiEndediting的代码

- (void)textFieldDidEndEditing:(UITextField *)textField {
UICollectionViewCell *selectedCell = (UICollectionViewCell *)[[textField superview] superview];
UICollectionView *collectionViewForSelection = (UICollectionView *)[selectedCell superview];
NSIndexPath *textFieldIndexPath = [collectionViewForSelection indexPathForCell:selectedCell];

if (textFieldIndexPath != NULL) {
[[_collectionArray objectAtIndex:textFieldIndexPath.section] replaceObjectAtIndex:textFieldIndexPath.row withObject:textField.text];
[self saveArray];
}
}
我尝试过,但没有任何运气,我也没有发布任何代码

有什么建议吗?

是UIScrollView的子类,因此您可以尝试调用委托scrollViewDidScroll中活动文本字段的resignFirstResponder:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    //resign the first responder of the active text field
    [self.view endEditing:YES];
}
由于视图中有很多文本字段,因此可以在视图中调用:

编辑:

使视图(或其中一个嵌入的文本字段)退出 第一响应者状态