【问题标题】:UICollectionViewCell lost first responder after scrolling out of sreenUICollectionViewCell 滚出屏幕后失去了第一响应者
【发布时间】:2013-07-19 17:38:50
【问题描述】:

我有 UICollectionViewCell 和 UITextView。当我点击 textView 时,它变成了 firstResponder,但是当我向外滚动并将该单元格滚动回可见区域时,它上面不再有标记,尽管键盘仍然可见。如果我尝试输入文本,textView 不会显示新符号,但是当我记录该 textView.text 时,我会看到这些输入的符号。为什么可见 textView 不呈现新文本?

【问题讨论】:

  • 请发布您对 collectionView:cellForItemAtIndexPath: 的实现:
  • 我已经在家了,一上班就发帖
  • 静态 NSString *const MainCell = @"MainCell"; UICollectionViewCell *returningCell = [collectionView dequeueReusableCellWithReuseIdentifier:MainCell forIndexPath:indexPath];

标签: ios uitextview uicollectionview uicollectionviewcell first-responder


【解决方案1】:

当它们滚动离开屏幕时,iOS 会回收集合视图和表格视图单元格。当滚动回屏幕时,您负责在 cellForItemAtIndexPath 方法中再次配置单元格(如果是表格视图,则为 cellForRowAtIndexPath)。

【讨论】:

  • 当我在 tableView 上执行相同操作时,一切正常,单元格 textView 仍包含 firstResponder 并呈现新符号。但是在collectionView - 不是,还有更多 - 在此操作之后collectionView 无法找到该单元格的indexPath。
  • 貌似dequeueReusableCellWithIdentifier: forIndexPath: 返回坏单元格,但前后单元格的十六进制地址是一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 1970-01-01
  • 2011-04-07
  • 2016-03-30
  • 1970-01-01
相关资源
最近更新 更多