【问题标题】:IOS Slide In/Out webviewIOS 滑入/滑出 webview
【发布时间】:2015-03-08 00:23:38
【问题描述】:

我对 IOS 应用程序开发非常陌生。

我想实现滑入/滑出 webview(例如从右侧),每个人都应该看到。

当用户点击一个链接时,一个新的 webview 将从右侧滑入并加载一个网页。如果用户向右滑动,webview 会回到右侧,这取决于距离。

举几个例子,有这个功能...... Flipboard / Line / Facebook Groups......

注意webview可以被用户水平拖动

在我开始着手这个项目之前,我已经搜索了一段时间。但是,我根本找不到任何东西。

谁能给我指出正确的方向/关键字。如何在 xcode 中设置这样的结构,或者是否存在可以解决问题的现有控件(或默认内置插件)...

谢谢

【问题讨论】:

    标签: ios xcode swift webview flipboard


    【解决方案1】:

    这不是 segue 或 presentViewController 方法中显示动作的默认呈现/关闭动画,它似乎是交互式的。要实现这一点,您应该自定义自己的动画师类。

    如果您使用presentViewController/dismissViewController 而不使用UINavigationController,请查看UIViewControllertransitioningDelegate

    如果您使用UINavigationController,请查看UINavigationController 的委托方法:

    func navigationController(_ navigationController: UINavigationController, animationControllerForOperation operation: UINavigationControllerOperation, fromViewController fromVC: UIViewController, toViewController toVC: UIViewController) -> UIViewControllerAnimatedTransitioning?
    func navigationController(_ navigationController: UINavigationController, interactionControllerForAnimationController animationController: UIViewControllerAnimatedTransitioning) -> UIViewControllerInteractiveTransitioning?
    

    恐怕这在IOS动画设计中并不容易。如果您是该领域的新手,您可以使用已经在 Github 上设计的动画师类。

    【讨论】:

      【解决方案2】:

      这种效果很容易通过 swifts 内置的 segue 方法实现。我相信它现在称为显示,过去称为推送,但假设您有 2 个视图,第一个包含链接或任何内容,第二个是您的 Web 视图。您可以在情节提要中控制从第一个视图到另一个视图的拖动,并创建一个显示(推送)segue。如果你去寻找这个,周围有一些代码,所以我不想重复它们,但默认动画从右侧滑入新视图,当你向右滑动时,视图被推开回顾旧观点。

      希望这有点用,Dom

      【讨论】:

      • 当在第二个视图上向右滑动时,我可以从屏幕中心开始触摸移动,第二个视图将跟随我的距离(水平)。就像常见的抽屉控件一样。
      • 我不确定是否要从中间开始滑动,我从左到右将它拖到一半,四分之三,1 厘米,它跟随我的拇指。我会找你从中间开始拖动。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多