具有交叉溶解动画的 swift UIPageViewController

问题描述 投票:0回答:1

我搜索了很长时间才知道,在UIPageViewController中我们不能有除了curl和scroll之外的任何其他动画。

我需要使用交叉溶解而不是滚动或卷页,但它不接受除滚动和卷页之外的任何内容。

let vc = IntroPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal)
    self.present(vc, animated: true, completion: nil)

如何使用 .crossDissolve 代替 .scroll 或 .pageCurl。

我在 IntroPageViewController 中尝试过

let nxtVc = pendingViewControllers.first as! IntroSinglePageViewController
nxtVc.modalTransitionStyle = .crossDissolve
    UIView.transition(with: self.view, duration:1,
            options: UIViewAnimationOptions.transitionCrossDissolve,
            animations: { }, completion: nil)

它有效,但现在我有动画、滚动和交叉溶解。 我怎样才能摆脱这里的滚动动画。

ios swift uipageviewcontroller
1个回答
0
投票

我知道这是一篇旧帖子,但我想我会发布我的解决方案。我关注了评论,他们似乎提供使用代表或挂钩滚动视图。

对我来说,“技巧”就像 UIViewControllers 的其他转换一样,是关闭动画,然后立即添加带有所需动画的 UIView.transition。

    func transitionPage(_ vc: UIViewController) {
        self.pageController.setViewControllers([vc], direction: .forward, animated: false)
        UIView.transition(
            with: self.view,
            duration: 0.6,
            options: .transitionCrossDissolve,
            animations: { },
            completion: nil)
    }

我希望这对您和其他遇到此问题的人(像我一样)来说是一个很好的简单解决方案

© www.soinside.com 2019 - 2024. All rights reserved.