我希望能够使用Storyboard左右滚动UITableViewCell。这不可能吗?

时间:2014-03-28 03:39:07

标签: ios objective-c uitableview uiscrollview uistoryboard

我已经尝试过所有我能想到的事情,但没有任何工作。

与iOS 7的Mail.app中的效果类似,我希望能够左右滑动表格视图的单元格。我希望能够在故事板和自动布局中执行此操作,因为我的大多数应用程序都是使用这些。我理解故事板的滚动视图通过子视图的约束来计算它们的contentSize。

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

选项二,最好的选项是将UIView放在滚动视图中,然后将标签和诸如此类的东西放在其中,这样它们就可以全部定位为具有UIView父级的组。我试过在这里简单地设置UIView,将其设置为粘贴在滚动视图的顶部和底部,宽度设置为320,而左侧和右侧距边缘320。

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

enter image description here

Here's an example project with all the constraints mentioned.

到底是怎么回事?这是一项不可能完成的任务吗?

3 个答案:

答案 0 :(得分:5)

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

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

enter image description here

然后添加"真实"内容视图里面的单元格宽度将隐藏底层按钮。

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

您还可以使用滚动视图contentInsets进行进一步调整。


示例Nib代码here

答案 1 :(得分:0)

不幸的是,我认为答案是你想要做的事情在纯粹的故事板中是不可能的。您需要代码来提供动画或视图之间的转换。

答案 2 :(得分:-2)

您的问题是,您是否可以UITableViewCell拖动?

如果我理解答案,您可以获得2个内容视图:

  1. 后视图
  2. 可拖动的视图
  3. 然后,您应该将自定义UIPanGestureRecognizer添加到UITableViewCell,然后使用此功能检测拖动单元格的像素数(如果只想拖动x值,则只检测x值),以及最后你应该只用pan值更新可拖动视图的origin.x.

    如果它不符合您的要求,请更加准确,我会给您一个正确答案:)