我的一个集合视图单元格中有一个UITextField
。一旦该单元格在屏幕上,我希望它成为第一响应者。
所以,我在[cell.textField becomeFirstResponder]
中致电cellForItemAtIndexPath
。但是,这仅在应用程序打开时才有效(包含uitextfield的单元格在应用程序启动时已经可见),如果我滚动离开单元格而不是向后滚动它,则文本字段不再成为第一响应者。
可能是什么问题?
编辑:我在调用UITextField
之前以编程方式将集合视图滚动到包含becomeFirstResponder
的单元格
答案 0 :(得分:1)
在滚动完成之前,集合视图的滚动似乎使集合视图成为第一个响应者,因此我将textfield作为此委托方法中的第一个响应者:
-(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
答案 1 :(得分:0)
您应该将代码放在
中- (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICollectionViewCell *)cell forItemAtIndexPath:(NSIndexPath *)indexPath
根据class ref:
运行告诉委托指定的单元格即将显示在集合视图中。