我设计了一些相互作用的UIView。但当视图出现时,总是从右向左滑动(默认)。
但我希望它在某些情况下从左到右显示(例如,我向右滑动)。
从Swift代码我怎么做不到?
更新
我找到了解决这个问题的办法

            let slideInFromLeftTransition = CATransition()
            // Customize the animation's properties
            slideInFromLeftTransition.type = kCATransitionPush
            slideInFromLeftTransition.subtype = kCATransitionFromLeft
            slideInFromLeftTransition.duration = 0.5
            slideInFromLeftTransition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
            slideInFromLeftTransition.fillMode = kCAFillModeRemoved

            // Add the animation to the View's layer
            self.navigationController?.view.layer.addAnimation(slideInFromLeftTransition, forKey: "slideInFromLeftTransition")

这解决了。

最佳答案

swift 4.2中的解决方案:

func transitionVc(vc: UIViewController, type: CATransitionSubtype) {
        let transition = CATransition()
        transition.duration = 0.3
        transition.type = CATransitionType(rawValue: "push")
        transition.subtype = type
        self.navigationController?.view.layer.add(transition, forKey: kCATransition)
        self.navigationController?.pushViewController(vc, animated: false)
    }

使用方法如下:
let viewController = YourViewController()

transitionVc(vc: viewController!, type: .fromLeft)

transitionVc(vc: viewController, type: .fromRight)

关于xcode - Swift如何从左到右做UIView幻灯片的外观,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28083996/

10-13 07:27
查看更多