UIStoryboardSegue Subclass标识种类的segue

时间:2016-12-31 18:52:53

标签: ios uinavigationcontroller uistoryboardsegue

class CustomSegue: UIStoryboardSegue {

    override init(identifier: String?, source: UIViewController, destination: UIViewController) {
        super.init(identifier: identifier, source: source, destination: destination)
    }

    override func perform() {

        self.source.navigationController?.pushViewController(self.destination, animated: true)

    }

}

在上面的代码中,我重写了segue的行为。 它应该仅在{strong>显示(例如:推送)的类型时使用pushViewController,对于其他类型,它应该执行它可以执行的默认行为。

如何在子类Kind方法中找到segue的perform()

       override func perform() {

            if kind==Push { 
              self.source.navigationController?.pushViewController(self.destination, animated: true)
            } else {
              super.perform()
            }

        }

1 个答案:

答案 0 :(得分:-1)

在故事板中,选择segue作为自定义segue并选择kind作为自定义segue,默认行为只需选择show segue(例如push)

enter image description here