ios - 如何在另一个 View Controller 的顶部滑动 View Controller ?

标签 ios uitableview swift3 xcode8.2

我有一个 TableView Controller 和另一个 View Controller 。现在我的要求是,当我滑动 View Controller 时,我需要在另一个 View Controller 上滑动一半的表格 View Controller 。我可以显示的图像是这样的:

enter image description here

是否可以通过使用 Swipegesture 来实现这一点。如果可能的话,我怎么能在 Swift3 中做到这一点?

最佳答案

虽然有一些库可以为您执行此操作,但如果您要自己执行此操作,基本思想是您可以创建一个“从边缘滑动”手势识别器来启动 View Controller 的自定义演示(具有您的菜单)。它包括:

  • 一个自定义的过渡委托(delegate)(符合 UIViewControllerTransitioningDelegate 协议(protocol)),指定在下一个场景的呈现期间要使用的动画 Controller 和交互 Controller (都在下面描述);
  • 一个动画 Controller (符合 UIViewControllerAnimatedTransitioning ),从右边缘指示场景的动画;
  • 一个交互 Controller (一个 UIPercentDrivenInteractiveTransition ),您可以使用它来选择性地通过手势驱动转换;
  • 一个演示 Controller (一个 UIPresentationController 子类),它指示是否删除所显示的 View (在这种情况下,您不希望将其删除),以及与新场景的动画演示一起动画的任何其他 chrome (例如,您经常使呈现 View 变暗或模糊);和
  • 手势识别器来驱动交互 Controller 。

  • 有关更多信息,请参阅 WWDC 视频 Custom Transitions Using View ControllersA Look Inside Presentation Controllers .

    https://github.com/robertmryan/SwiftCustomTransitions/tree/rightside对于呈现以下 UX 的 Swift 3 示例:

    enter image description here

    这一切都非常复杂,您可能很想考虑使用第三方库来呈现滑入式菜单。但是,如果您想“自己动手”,这些就是所涉及的基本部分。

    关于ios - 如何在另一个 View Controller 的顶部滑动 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45762274/

    相关文章:

    ios - 如何在 iOS 中绘制工具提示

    ios - 使用 midX 时,scrollView 图像不在中心?

    ios - 如何增加 UITextView 中的行间距

    ios - 将 PFQueryTableViewCell imageView 设置为本地镜像

    ios - 滚动 UITableView 时如何创建 NSLayoutConstraint

    ios - 无法在多点连接 iOS 10 中通过蓝牙连接

    ios - 已加载 Root View 的 AppDelegate 回调

    ios - 更改UITableviewCell中的按钮颜色

    swift - 如何使用 Swift3 在​​正确的位置填充日历模板的日期?

    ios - swift 3 : Compiler does not recognize type of subclassed UIView