UITableViewCell滑动抽屉

时间:2010-07-15 20:51:29

标签: iphone uitableview

这更像是一个好奇心而非硬编码问题。

Facebook和Twitter都有一个功能,即滑动UITableViewCell可以激活侧面的单元格,以显示下方有更多控件的抽屉。这样的事情是如何完成的?

5 个答案:

答案 0 :(得分:6)

根据Twitter应用程序的行为,这是一个很好的开源方法:

https://github.com/thermogl/TISwipeableTableView

答案 1 :(得分:5)

这是一个问题,我尝试了几种不同的解决方案。我真的很喜欢Mailbox(mailboxapp.com)的行为。所以我开始实现这一目标。最后,我最终得到了一个非常简单的解决方案:在单元格内部使用UIScrollView。我的博客post讨论了一个sample app来证明这种行为。

答案 2 :(得分:3)

检测swipt操作的两种方法

  1. 查看UITableViewCell的willTransitionToState:方法。 在单元格中滑动时将调用此方法。

  2. Custom swipe detection in a TableViewCell

  3. 然后您可以轻松更改单元格视图。

答案 3 :(得分:1)

您可以在表格视图委托中实施-tableView:willBeginEditingRowAtIndexPath:

From the doc

  

当用户在一行中水平滑动时,将调用此方法; ...此方法使代表有机会将应用程序的用户界面调整为编辑模式。

答案 4 :(得分:1)

由于UITableViewCell只是UIView,您可以使用此事实基本上做任何您喜欢的事情。

要解决您的问题,我会附加一个UISwipeGestureRecognizer来检测滑动,然后将视图设置为不同的状态。

例如,您可以创建一个自定义单元格,使其内容视图位于“操作视图”之上。每当有滑动时,您都可以使用UIView动画将内容视图移到一边,并使用几个按钮显示操作视图。在自定义UITableViewCell中,您可以添加委托协议以将按下的操作和单元格发送给委托,即您的控制器。在那里你会触发什么触发然后将细胞转移出状态。