gpt4 book ai didi

swift - 第一次 Segue 后 Segue 停止工作

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

我正在尝试使用自定义segue,当单击按钮时,它会使 View 向右或向左“滚动”。我添加了一个如下所示的自定义类

class horizontalSegue : UIStoryboardSegue {

override func perform() {

var oldView = self.sourceViewController.view as UIView
var newView = self.destinationViewController.view as UIView

oldView.window?.insertSubview(newView, aboveSubview: oldView)

newView.center.x = oldView.center.x + oldView.frame.width
newView.center.y = oldView.center.y

UIView.animateWithDuration(0.6, animations: { newView.center = oldView.center }, completion: { finished in Void })
}

}

但问题是,在我继续进行一次之后,我无法继续回到我所离开的 View 。我认为这是因为我声明了 oldView 和 newView 的方式,应用程序没有更新哪个 View 是哪个 View ,所以当我尝试切换到第一个 View 时,它会切换回当前 View 。如果我是正确的,我如何确保应用程序更新哪个 View ?

最佳答案

Apple 文档说:“无论您如何执行动画,最后,您都有责任将目标 View Controller (及其 View )安装在正确的位置,以便它可以处理事件。例如,如果要实现自定义模式转换,您可以使用快照图像执行动画,然后在最后调用presentModalViewController:animated:方法(禁用动画)以在源 View Controller 和目标 View Controller 之间设置适当的模式关系。 ”

也许你应该添加类似的内容

[self.navigationController pushViewController:vc animated:NO]

进入动画的完成处理程序?

关于swift - 第一次 Segue 后 Segue 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32728256/

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