Geen omschrijving

UIViewControllerExt.swift 2.1KB

    // // UIViewControllerExt.swift // ExtensionKit // // Created by FFIB on 2017/9/13. // Copyright © 2017年 FFIB. All rights reserved. // import UIKit //MARK: custom methods extension extension UIViewController { public func addChildControllerAndView(_ controller: UIViewController, isNavigable: Bool = true) { if isNavigable { self.navigationController?.addChildViewController(controller) self.navigationController?.view.addSubview(controller.view) }else { self.addChildViewController(controller) self.view.addSubview(controller.view) } } public func removeControllerAndViewFromParent() { self.removeFromParentViewController() self.view.removeFromSuperview() } } //MARK: notification extension extension UIViewController { public func addNotificationObserver(name: Notification.Name, selector: Selector) { NotificationCenter.default.addObserver(self, selector: selector, name: name, object: nil) } public func removeNotificationObserver(name: Notification.Name) { NotificationCenter.default.removeObserver(self, name: name, object: nil) } public func removeAllNotificationObserver() { NotificationCenter.default.removeObserver(self) } } //MARK: jump extension extension UIViewController { public func popToRootController() { navigationController?.popToRootViewController(animated: true) } public func pushController(_ vc: UIViewController) { navigationController?.pushViewController(vc, animated: true) } public func popController() { navigationController?.popViewController(animated: true) } public func popToController(_ vc: UIViewController) { navigationController?.popToViewController(vc, animated: true) } public func presentController(_ vc: UIViewController) { present(vc, animated: true, completion: nil) } public func dismissController() { dismiss(animated: true, completion: nil) } } //MARK: navigation lateral spreads to return extension UIViewController { }