gpt4 book ai didi

ios - 快速自定义右转

转载 作者:行者123 更新时间:2023-11-30 11:14:11 25 4
gpt4 key购买 nike

我试图从两个 View Controller 中获得正确的转场,问题是当它进行转换时,第一个 View Controller 进行转场,但它似乎很快就会出现故障,几乎与自身重叠,然后放置新的 View Controller 就可以了。我看过网上的其他帖子,似乎没有人遇到这个问题。

class UIStoryboardSegueFromRight: UIStoryboardSegue
{
override func perform() {
let src = self.source as UIViewController
let dst = self.destination as UIViewController
let transition: CATransition = CATransition()
let timeFunc: CAMediaTimingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.duration = 0.2
transition.timingFunction = timeFunc
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromRight

src.view.window?.layer.add(transition, forKey: nil)
src.present(dst, animated: false, completion: nil)
}
}

我已将路线包含在下图中。源使用 UINavController,其根 Controller 是 TabViewController。然后将该 TabViewController 附加到 UIViewController,该 Controller 是使用图片右侧显示的自定义转换进行 segue 调用的 Controller 。

All_Feed ViewController which is the source

目标只是下面链接中显示的 UIViewController。

Post Page ViewController which is the destination

最佳答案

我不太熟悉这种在 View Controller 之间转换的方法。您是否尝试过使用UIViewControllerAnimatedTransitioninghttps://developer.apple.com/documentation/uikit/uiviewcontrolleranimatedtransitioning

这还可以让您以比在转场中进行操作更可重用的方式抽象逻辑。

由于您希望源呈现目标,因此您可以将目标 VC 设为转换委托(delegate),以便连接 UIViewControllerAnimatedTransitioning 逻辑

由于您尚未共享任何视觉效果,因此我不会尝试翻译您想要完成的动画,但也许本教程也可以帮助您了解如何以这种方式实现转换:https://www.objc.io/issues/5-ios7/view-controller-transitions/

关于ios - 快速自定义右转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51897377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com