我正在寻找如何像 WhatsApp 单元格滑动一样实现,我已经使用 UIPanGestureRecognizer 实现了单元格滑动动画,唯一剩下的就是执行交互式动画 - 添加新的 UIViewController
到窗口并根据手势识别速度和X轴值-显示。
一些额外的注释以准确说明我想要实现的目标:
我有一个
UITableViewController
,其中包含自定义的UITableViewCell
。我希望能够从左向右拖动一个单元格以启动交互式动画。 (注意:我已经实现了单元格滑动)。新的
UIViewController
将从左向右推送。滑动单元格时,
UITableViewController
的 View 将向右移动,此时,我想在其旁边显示推送UIViewController
.
这里有一个 GIF 动图,用于详细说明我需要什么(GIF 动图是从右向左滑动单元格,我需要相反的方向):
最佳答案
我建议使用 SWRevealViewController .使用他们的指南很容易设置,而且看起来非常棒。我发现,当您预加载用作下方显示内容的 UIViewController
时,它的效果会更好。
它为您正在寻找的功能增加了出色的用户体验。
如果您希望选择加入该功能,它也可以是用户交互的。我没有使用过交互功能,但只需几行代码即可轻松启动和运行:
let storyboard = UIStoryboard(name: "Main", bundle: .main)
let mainVC = storyboard.instantiateInitialViewController()
let menuStoryboard = UIStoryboard(name: "Menu", bundle: sdkBundle)
let menuNav = menuStoryboard.instantiateInitialViewController() as! UINavigationController
let mainRevealVC = SWRevealViewController(rearViewController: menuNav, frontViewController: mainVC)
mainRevealVC?.modalTransitionStyle = .crossDissolve
present(mainRevealVC!, animated: true, completion: nil)
要显示显示的 UIViewController
,您只需调用
// Every UIViewController will have a `self.revealViewController()` when you `import SWRevealViewController`
self.revealViewController().revealToggle(animated: true)
关于ios - 如何实现交互式单元格滑动以触发过渡动画,如 WhatsApp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44554582/