我想能够使用故事板向左和向右滚动UITableViewCell。 这不可能吗?

我尝试了所有我能想到的事情,而且没有任何工作。

类似于iOS 7的Mail.app中的效果,我希望能够左右滑动我的表视图的单元格。 我希望能够在故事板和自动布局中做到这一点,因为我的应用程序大部分是与这些完成的。 我知道故事板的滚动视图通过他们的子视图的约束来计算他们的contentSize。

有了这个,我主要尝试了两种策略。 第一个,只要在scrollview中有一个标签,我就可以向右或向左滑动。 我将它设置为粘贴到滚动视图的顶部和底部,但在标签的任一侧都是300pts,以允许滚动视图计算其contentSize。 这极大地推动了标签向右,所以我不能看到它时,表加载。

选项二,最好的一个,是把一个UIView放在滚动视图中,然后把标签放在里面,这样它们就可以全部定位成一个UIView父组件。 我试着简单地在这里设置UIView,将其设置为粘贴到滚动视图的顶部和底部,宽度设置为320,而左侧和右侧距离边缘320。

这个抱怨没有高度限制,但是我告诉它要坚持滚动视图的顶部和底部。 这不算什么? 如果单元格大小增长,滚动视图会随之增长,因此我希望内部视图的高度也增加。 由于某种原因,它也会水平地抱怨这个位置。

在这里输入图像说明

这是一个示例项目,其中提到了所有的约束条件。

究竟是怎么回事? 这是不可能的任务吗?

我会为每个单元格的contentView添加一个滚动视图。

我将滚动视图宽度设置为单元格的三分之一,设置分页启用,而不是剪辑其子视图。

在这里输入图像说明

然后在内部添加一个“真实的”内容视图,其宽度将隐藏底层的button。

最后,您必须以编程方式设置正确的contentSize (单元格宽度)和初始contentOffset (宽度的三分之一)。

您也可以使用滚动视图contentInsets来进一步调整它。


在此处示例Nib代码。

不幸的是,我想答案是,你想要做的是纯粹的故事板是不可能的。 您将需要代码来提供animation或视图之间的转换。

你的问题是,如果你可以使一个UITableViewCell可拖动?

如果我理解正确的答案,你可以得到2个内容视图:

  1. 后面看法
  2. 可拖动的视图

然后,你应该添加一个自定义的UIPanGestureRecognizerUITableViewCell ,并用此检测你拖动单元格的多less个像素(只有在x值上,如果你只需要拖拽x值),最后你只需要更新可拖动视图的origin.x泛值。

如果这不是你正在寻找的,请更准确的问题,我会给你一个正确的答案:)