我是stackoverflow和Objective c的新手,所以请事先原谅我:)
我有一个显示虚拟文件夹列表的UIcollectionView 单击“添加文件夹”时,单元格将添加到集合中。单元格里面有一个UITextField,我创建了FirstResponder,弹出虚拟键盘,用户可以编辑文件夹的名称。在我添加的每个文件夹上都能很好地工作。
问题是当用户点击文件夹时。
我将reloadData重新加载到CollectionView(因为我现在想要显示被点击的文件夹的内容),然后我添加的每个文件夹都不会弹出虚拟键盘,而UITextField不会成为第一响应者?
任何人都知道为什么会这样?
另一个有趣的事情是,当我点击集合(没有单元格的空白区域),然后尝试创建一个新文件夹后,键盘返回..
答案 0 :(得分:1)
我的问题是我的UITextField是在单元格本身,以及UICollectionView使用可重用单元格的事实。所以,每次我给我一个不同的单元格(当它可用时是现有的单元格,当它可用时是新的单元格)并且无法找到发送我的becomeFirstRisponder的位置。我通过在创建时为每个单元格提供uniq标识符并在发送becomeFirstRisponder命令时查找正确的标识符来解决它。