1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import UIKit
- 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()
- }
-
- }
- 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)
- }
- }
- 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)
- }
- }
- extension UIViewController {
-
- }
|