微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从一个视图控制器到同一视图控制器的另一个实例执行自定义转场?

如何解决如何从一个视图控制器到同一视图控制器的另一个实例执行自定义转场?

如何从视图控制器的一个实例到同一视图控制器的另一个实例执行自定义转场?

对于初学者,我只是尝试实现从一个 vc 到另一个 vc 的自定义 segue。这是成功的,我是这样做的。

  1. 我继承了 UIStoryboardSegue 以创建自定义 segue。
class MyCustomSegue: UIStoryboardSegue {

    override func perform() {
        // Custom transition stuff here.
    }
        
  1. 在我的故事板中,我创建了一个一个 vc 到另一个 vc 的 segue,并将类更改为 MyCustomSegue,并给它一个标识符“MyCustomSegueID”。

  2. 我通过调用 self.performSegue(withIdentifier: "MyCustomSegueID",sender: self) 以编程方式成功实现了 segue。注意:segue 需要以编程方式执行,因为某些事情是可变的。

接下来,我尝试从一个视图控制器的实例到同一视图控制器的另一个实例执行相同的自定义转场转换,但我无法这样做。我对此有一些困惑:

  1. 我不能(或者还没有想出如何...)在情节提要中创建一个一个 vc 到同一个 vc 的转场(就像我在第一部分中所做的那样,我创建了一个一个 vc 到同一个 vc 的转场)一个不同的 vc)。
  2. 我想我可能需要覆盖自定义 segue 类中的 init 以便我可以编辑 sourcedestination 值,因为在 Apple Developer Docs {{3} },它说明了以下内容

如果您需要在您的自定义 segue 子类中初始化任何变量,您还可以覆盖 init(identifier:source:destination:) 方法并在您的自定义实现中初始化它们。

但我不确定该怎么做或它会如何帮助。

那么,有谁知道我可以怎样做我想要完成的事情?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。