首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cell.accessoryType消失问题

cell.accessoryType消失问题
EN

Stack Overflow用户
提问于 2009-07-13 15:30:58
回答 3查看 1.3K关注 0票数 0

我已经从代码中设置了自定义UITableViewCell。在我的牢房里,我有一个"UITableViewCellAccessoryDisclosureIndicator".突出显示单元格时,单元格变为蓝色,附件项变为白色。所以这一切都很好。

但是,当点击并按下新视图时,附件项将消失。当我返回到表视图时,UITableViewCellAccessoryDisclosureIndicator已经消失了,在同一个单元格上点击/按住手指不会再次突出显示它。

上周它工作得很好,但我就是想不出是什么突然引发了这个问题。当我做“hg diff”时,我看不到任何东西,所以希望有人能指导我找到一个可能的解决方案。如果您需要特定的代码,请让我知道。

我使用过atebits快速滚动示例代码,并对其进行了大量定制,但基本内容(以及突出显示的BOOL)保持不变。

PS。我注意到Apple自己的示例代码,当新视图被推入时,单元格将突出显示,返回到表视图时,单元格将保持突出显示,直到将表视图推回原位。这里有什么想法吗?谢谢。

EN

回答 3

Stack Overflow用户

发布于 2009-07-13 16:16:54

我刚刚自己解决了这个问题(今天上午)

为了便于讨论,请尝试从您的单元格中删除LayoutSubviews方法。我发现这会对附件视图造成严重破坏。我最终从我的单元格中删除了该方法,并在初始化方法中定位了元素。

票数 1
EN

Stack Overflow用户

发布于 2009-07-13 15:50:33

我不确定你所指的快速滚动代码是什么,但是表格视图单元格应该通过视图控制器的推送和弹出来保持突出显示,只有在下一个控制器弹出后才会立即取消选择。换句话说,事件的顺序应该是:

  1. 在表格视图单元格上接收触摸事件
  2. 单元格选择(突出显示蓝色)
  3. Push新控制器
  4. 新控制器上的任何操作
  5. 弹出新控制器单元格取消选择(从蓝色逐渐变白)

如果没有发生这种情况,您可能正在调用UITableView方法deselectRowAtIndexPath:animated: -这是负责以编程方式取消选择表视图中的单元格的方法。确保您的代码中没有对该方法的任何额外调用。

至于丢失disclousre指示符,请确保表视图的数据源在视图控制器的推送或弹出期间不会发生变化。如果数据源更改为在其生成的单元格中不包含UITableViewCellAccessoryDisclosureIndicator的另一个对象,则当您通过推入/弹出视图来刷新表格时,即使该单元格被突出显示,您也不会看到它。(显示该表,稍等片刻,然后调用[tableView reloadData],查看附件指示器是否消失,这可能有助于诊断。)

票数 0
EN

Stack Overflow用户

发布于 2014-06-05 15:36:48

如果重写"layoutSubviews“,则需要调用

代码语言:javascript
运行
复制
[super layoutSubviews];

在你的自定义布局之前。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1120173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档