Ios UITextField未成为集合视图中的第一响应者

Ios UITextField未成为集合视图中的第一响应者,ios,objective-c,uicollectionview,uitextfield,Ios,Objective C,Uicollectionview,Uitextfield,我的一个集合视图单元格中有一个UITextField。我希望手机一出现在屏幕上就成为第一反应器 因此,我在cellForItemAtIndexPath中调用[cell.textField becomeFirstResponder]。但是,这仅在应用程序打开时起作用(包含uitextfield的单元格在应用程序启动时已可见),如果我从该单元格中滚动,然后再滚动回该单元格,则textfield不再成为第一响应者 有什么问题吗 编辑:在调用becomeFirstResponder之前,我正在通过编程将

我的一个集合视图单元格中有一个
UITextField
。我希望手机一出现在屏幕上就成为第一反应器

因此,我在
cellForItemAtIndexPath
中调用
[cell.textField becomeFirstResponder]
。但是,这仅在应用程序打开时起作用(包含uitextfield的单元格在应用程序启动时已可见),如果我从该单元格中滚动,然后再滚动回该单元格,则textfield不再成为第一响应者

有什么问题吗


编辑:在调用
becomeFirstResponder
之前,我正在通过编程将集合视图滚动到包含
UITextField的单元格中

- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath
根据以下条件发挥作用:

通知代理指定的单元格将要显示在集合视图中


在滚动完成之前,似乎是滚动集合视图使集合视图成为第一个响应者,因此我在该委托方法中使我的文本字段成为第一个响应者:

-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView

谢谢,我今晚一定要试试!在此之前,您能否告诉我,如果cellForItemAtIndexPath不起作用,为什么这个函数会起作用?似乎这个函数是在即将绘制单元格之前调用的,而不仅仅是在最初绘制单元格时调用的,所以它应该起作用。另外,请注意,您的答案是针对UITableView的,我使用的是UICollectionView。但是,在iOS 8之后也有类似的方法:-
(void)collectionView:(UICollectionView*)collectionView将显示cell:(UICollectionViewCell*)itematindexpath的cell:(nsindepath*)indepath
啊,我的错在那里,将立即更改它。他们有和你说的相同的方法,所以这是相同的想法。不,不幸的是,这也不起作用,我编辑了我的答案来提供更多的信息!你能在滚动到特定单元格的地方发布你的代码吗?我用一种稍微不同的方法解决了它,请检查我的答案!