2017-08-30 44 views
0

我已經創建了用於在我的某些視圖控制器擴展一個類,使用延長我的某些視圖控制器

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

,現在我想將它設置爲我的視圖控制器,所以我不能使用同樣的代碼在我的主頁,個人資料,瀏覽,搜索,等等這樣的:

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

的問題是,我怎麼會用我的STPopupTransitionAnimator我的家,配置文件和搜索視圖控制器?

我不想做的是延長我的UIViewController這樣的:

extension UIViewController: STPopupTransitionAnimator {} 

,因爲我只用該協議僅在某些視圖控制器,我用它來檢查它的東西。

回答

1

創建的UIViewController

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

一個子類,繼承你的UIViewControllers從中

class HomeViewController: STPopupViewController { 

} 
+0

哇,我會嘗試明天,以及如何從HomeViewController我的變量傳遞給我的STPopupViewController? –

+0

@calvinsugianto'HomeViewController'是'STPopupViewController',在'STPopupViewController'中聲明的所有內容都可以在'HomeViewController'中使用,或者你可以重寫這些函數來傳遞一些其他變量,然後調用'super.someFunction()' – JuicyFruit

+0

哦,很好那麼,我的UITableViewcontroller呢?如果我從STPopupTransitionAnimator延伸我的UITAbleViewController,我無法訪問self.tableView,它幾乎在這裏完成 –

相關問題