2009-06-01 88 views
6

我该如何实施类似滑动菜单的tweetie?Tweetie喜欢滑动菜单

我完成了与customcell开发tableviewcontroller。 customcell实现了touchesbegan和touchesMoved。它还通过选择器向父级tableviewcontroller报告滑动手势。

现在我应该如何去隐藏“Swiped”单元格并将其替换为“swipe menu view”,以及如何从swipeview上的按钮获取操作?

+0

看看https://github.com/thermogl/TISwipeableTableView它需要有点抛光,但它的工作原理,可以是一个开始。 – myell0w 2010-12-28 10:32:06

+0

请注意TISwipeableTableView弄错了“正常的”UITableView - 事件......在类中模拟它。所以你会得到各种奇怪的非默认行为...我会试着实现它,但那是一个交易断路器。 (重写它并不难) – steipete 2011-02-26 22:54:50

回答

12

每个表格视图单元都有一个contentView,它包含了该单元的整个区域。将您的轻扫菜单视图添加为具有不透明背景的单个容器视图,以使其位于其他任何位置。定位它,使它左齐平(x = 0),将宽度设置为0,并将其设置为隐藏。该单个容器可以包含任何其他子视图(按钮等),您可以将单元视图本身设置为按钮事件的目标(然后将它与单元索引信息一起向上展开到父表视图)。

当需要显示它时,将其设置为不隐藏,然后使用UIView动画使容器宽度从0变为全表宽度。设置持续时间非常低(即0.2秒),所以它很活泼。当您运行动画时,滑动式菜单会在单元格内容视图中显示其他所有内容。为了使它消失,只需将其逆转(在UIView BeginAnimation块中将宽度设置为0)。您可能还想在最后设置动画完成处理程序,并在那里进行一些管理(将容器视图设置为隐藏,释放内存等)。