我设计了一些可以相互交互的 UIView。但是当 View 出现时总是从右向左滑动(默认)。 但我希望它在某些情况下从左到右出现(例如我向右滑动)。 我怎么不能从 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/