我在某些视图控制器上创建了一个用于扩展的类,
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 {}
因为我只在某些视图控制器上使用该协议,而是用它来检查它。
答案 0 :(得分:1)
创建UIViewController
的子类,如
class STPopupViewController: UIViewController, STPopupControllerTransitioning {
//all functions implementations
}
并从中继承UIViewControllers
class HomeViewController: STPopupViewController {
}