2016-04-19 48 views
0

我有一个可滚动的表格,里面填充了带有标签的单元格列表。行当前是固定的高度。该表填充1/3屏幕,并为用户提供在其他2/3屏幕上过滤内容视图的选项。UITableView的标签太宽UITableViewCell

标签的文字太长,因此标签被截断。

什么是允许用户查看整个标签的正确方法:

1.多线

这会破坏表的外观。这将很难阅读。

2.滚动视图

这将需要禁用cell.contentView.userInteractionEnabled使触摸被传递到滚动视图。另外,当用户试图滚动表格但触摸点位于UIScrollView上时会发生什么?

UIScrollView滚动或将UITableView滚动?所有垂直触摸都可以使UITableView滚动吗?

我还必须离开didSelectRowAtIndexPath,并使用按钮和委托方法吗?

3.按住一个提示

我就必须添加某种观察员的长期接触。在用户体验方面可能不太好。

+0

选择时消耗单元格吗? – zcui93

+0

将细胞展开到哪里?我不能扩大比表的宽度更大的权利? –

+0

嗨,解决方案之一可能会使用像这样的自动滚动标签:https://github.com/cbpowell/MarqueeLabel –

回答

0

你应该重新考虑你的设计。如果您的表格包含过滤器,那么这些过滤器应该相当容易理解,并且通常应该包含1个或至多几个单词。

如果您的标签太长以至于不能完全显示它们,那么它们可能是过滤器名称的一个非常糟糕的选择,不是吗?

这就是说,如果你真的想保留当前的UI,唯一合理的方法是降低字体大小,并允许所有标签占据几行。你必须适当地匹配细胞高度,这样你的细胞仍然很好看。

但是,最好的选择是重新考虑你的用户界面,这样你就不必使用文本行作为过滤器名称。

+0

所以你可能是正确的,因为过滤器选项太长。假设您返回一个文档列表,并且您有500个过滤器选项,按照属于每个选项的文档数量排序,并且这些选项长达6个字。这基本上是我正在处理的... –