披露指示器移动单元格子视图

Posted

技术标签:

【中文标题】披露指示器移动单元格子视图【英文标题】:disclosure indicator moves cell subviews 【发布时间】:2013-08-26 15:45:32 【问题描述】:

我有一个表格,其中一些单元格使用了披露指示符,而有些则没有。

显然,披露指示器会压缩内容,因此并非所有单元格都排成一列完美的列。

无论是否有披露指示符,我如何调整我的内容以保持在同一位置?

【问题讨论】:

显示一些代码。使用标准文本标签还是自定义?有图片吗? 只是基本的文本标签。没有什么花哨。没有代码,因为它在 XIB 中 您一定是在做些什么来显示和隐藏披露指示符? 好吧,如果在我用来填充文本数据的对象中设置了属性,我会显示指标。如果没有,我不会。但这不是我的问题,我需要知道是否可以在指示器显示时阻止标签调整其框架 【参考方案1】:

解决此问题的一个技巧是创建一个空视图并将其用作单元格的accessoryView。仅对没有详细披露的单元格执行此操作。

诀窍是正确设置视图的大小。一点点试错就可以了。

在您的cellForRowAtIndexPath:... 方法中:

UITableViewCell *cell = ... // get the cell
If (/* there is no detail disclosure */) 
    // Try different "width" value for this view to get the desired results
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 40)];
    cell.accessoryView = view;

【讨论】:

有趣的想法。我可能会走这条路,虽然添加空白视图并不是我最喜欢的选择。【参考方案2】:

另一种选择是使用不同的单元格。一个有披露指标,一个没有。然后,您可以完全控制布局。并且通过使用单元重新加载机制而不是表重新加载机制,这是有效的。

比使用空白视图恕我直言。

【讨论】:

以上是关于披露指示器移动单元格子视图的主要内容,如果未能解决你的问题,请参考以下文章

UITableViewCell 显示指示器位置

从 Table View Cell xib 与披露指示符转至情节提要

检查表格视图单元格中的部分索引标题

我可以阻止单元格的披露指示器在选中时变为白色吗?

移除单元格附件后,如何将微调器与单元格内容视图居中?

自定义单元格范围之外的披露指示器