使用我的特定View Controller的扩展名

时间:2017-08-30 10:14:17

标签: ios swift uiviewcontroller

我在某些视图控制器上创建了一个用于扩展的类,

class STPopupTransitionAnimator: NSObject, STPopupControllerTransitioning {
....
}

现在我想将它设置为我的View Controller,所以我不能在我的主页,个人资料,浏览,搜索等中使用相同的代码,如下所示:

extension HomeViewController: STPopupControllerTransitioning { 
    func popupControllerTransitionDuration(_ context: STPopupControllerTransitioningContext) -> TimeInterval {
        return context.action == .present ? 0.9 : 0.4
    }
}

问题是,如何将我的STPopupTransitionAnimator用于我的家庭,个人资料和搜索视图控制器?

我不想做的是像这样扩展我的UIViewController:

extension UIViewController: STPopupTransitionAnimator {}

因为我只在某些视图控制器上使用该协议,而是用它来检查它。

1 个答案:

答案 0 :(得分:1)

创建UIViewController的子类,如

class STPopupViewController: UIViewController, STPopupControllerTransitioning { 
    //all functions implementations 
}

并从中继承UIViewControllers

class HomeViewController: STPopupViewController { 

}