如何实现像 iOS MAIL 应用程序这样的平移手势,以便一次只打开一个单元格?

Posted

技术标签:

【中文标题】如何实现像 iOS MAIL 应用程序这样的平移手势,以便一次只打开一个单元格?【英文标题】:How to implement pan gesture like iOS MAIL app such that only one cell is opened at a moment? 【发布时间】:2016-07-12 12:51:35 【问题描述】:

我已经为类似于 ios 邮件应用程序的单元格制作了自定义删除按钮和其他几个选项有“删除”、“存档”、“标记”等。

如果您注意到如果一个单元格被滑动打开,那么之后您将无法打开另一个单元格,如果您尝试然后之前的滑动将撤消 即先前打开的单元格将恢复到正常位置....我希望对我的单元格应用相同的技术。

对于代码,我已经为我的应用程序实现了https://www.raywenderlich.com/62435/make-swipeable-table-view-cell-actions-without-going-nuts-scroll-views 本教程。任何人都可以建议如何模仿仅打开单元格滑动启用~= MAIL App 单元格滑动行为的行为

使用的方法不是表格编辑,按钮嵌入在单元格的超级视图中,额外的滑动视图在它们上方,被平移!!所以没有使用任何类型的代表编辑方法!

【问题讨论】:

您确定引用了当前打开的单元格吗?为什么不能直接关闭? 关闭当前打开的单元格不是问题,禁止其他单元格平移而另一个单元格已经打开是这里的问题。 在平移之前从单元格调用一个委托方法,返回是否允许的 Bool。 这样做....必须保持相同的单元格是否也被平移!!谢谢顺便说一句! :) 【参考方案1】:

你试过了吗?

- (nullable NSArray<UITableViewRowAction *> *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(8_0) __TVOS_PROHIBITED;

【讨论】:

使用的方法不是表格编辑,按钮嵌入在单元格的超级视图中,额外的滑动视图在它们上方,被平移!!所以没有使用任何类型的代表编辑方法!

以上是关于如何实现像 iOS MAIL 应用程序这样的平移手势,以便一次只打开一个单元格?的主要内容,如果未能解决你的问题,请参考以下文章

如何像 iOS Photos 应用一样实现缩放*和*分页

如何实现像 Feedly 这样的动画,在 iOS Objective-c 中分类新闻应用

iOS - 创建类似 iOS9 的拆分视图 [关闭]

在 iOS 8 中,如何通过 Mail.app 实现长滑动删除手势

如何在闪亮应用程序的平移和缩放功能中添加控件?

通过 StoryBoard 在滚动视图中平移大图像