From 7be231d1ad6f2f51fc0eb4fa800a9fcec56e4af3 Mon Sep 17 00:00:00 2001 From: Yoo Hyun Sik Date: Wed, 8 May 2024 12:14:59 +0900 Subject: [PATCH] =?UTF-8?q?APP-10195=20:=20=EC=BD=94=EB=93=9C=EB=A6=AC?= =?UTF-8?q?=EB=B7=B0=20=EB=B0=98=EC=98=81=20=EB=B0=8F=20Demo=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EC=BB=B4=ED=8C=8C=EC=9D=BC=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OverContextNavigationController.swift | 16 +++++++++------- .../OverContextPanModalPresentable.swift | 2 +- .../UIViewController+PanModalPresenter.swift | 2 +- PanModalDemo.xcodeproj/project.pbxproj | 4 ++++ 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/PanModal/Controller/OverContextNavigationController.swift b/PanModal/Controller/OverContextNavigationController.swift index d72897d..fd28fa8 100644 --- a/PanModal/Controller/OverContextNavigationController.swift +++ b/PanModal/Controller/OverContextNavigationController.swift @@ -1,9 +1,11 @@ import UIKit +public typealias OverContextPanModal = UIViewController & OverContextPanModalPresentable + public class OverContextNavigationController: UINavigationController { - private let panModal: UIViewController & OverContextPanModalPresentable + private weak var panModal: OverContextPanModal? - init(panModal: UIViewController & OverContextPanModalPresentable) { + init(panModal: OverContextPanModal) { self.panModal = panModal super.init(nibName: nil, bundle: nil) @@ -20,30 +22,30 @@ public class OverContextNavigationController: UINavigationController { public override func viewDidLoad() { super.viewDidLoad() - panModal.viewDidLoad() + panModal?.viewDidLoad() } public override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) - panModal.viewWillAppear(animated) + panModal?.viewWillAppear(animated) } public override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) - panModal.viewDidAppear(animated) + panModal?.viewDidAppear(animated) } public override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) - panModal.viewWillDisappear(animated) + panModal?.viewWillDisappear(animated) } public override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) - panModal.viewDidDisappear(animated) + panModal?.viewDidDisappear(animated) } } diff --git a/PanModal/Presentable/OverContextPanModalPresentable.swift b/PanModal/Presentable/OverContextPanModalPresentable.swift index 74ca0c8..8c2dc06 100644 --- a/PanModal/Presentable/OverContextPanModalPresentable.swift +++ b/PanModal/Presentable/OverContextPanModalPresentable.swift @@ -1,4 +1,4 @@ -import Foundation +import UIKit public protocol OverContextPanModalPresentable: PanModalPresentable { diff --git a/PanModal/Presenter/UIViewController+PanModalPresenter.swift b/PanModal/Presenter/UIViewController+PanModalPresenter.swift index 8de7e3d..8e74cdb 100644 --- a/PanModal/Presenter/UIViewController+PanModalPresenter.swift +++ b/PanModal/Presenter/UIViewController+PanModalPresenter.swift @@ -59,7 +59,7 @@ extension UIViewController: PanModalPresenter { } - public func presentOverContextPanModal(_ viewControllerToPresent: UIViewController & OverContextPanModalPresentable) { + public func presentOverContextPanModal(_ viewControllerToPresent: OverContextPanModal) { let overContextNavigationViewController = OverContextNavigationController(panModal: viewControllerToPresent) present(overContextNavigationViewController, animated: false) { diff --git a/PanModalDemo.xcodeproj/project.pbxproj b/PanModalDemo.xcodeproj/project.pbxproj index 3087cf8..fd1e034 100644 --- a/PanModalDemo.xcodeproj/project.pbxproj +++ b/PanModalDemo.xcodeproj/project.pbxproj @@ -44,6 +44,8 @@ 74C072A5220BA76D00124CE1 /* PanModalHeight.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C072A4220BA76D00124CE1 /* PanModalHeight.swift */; }; 74C072A7220BA78800124CE1 /* PanModalPresentable+LayoutHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C072A6220BA78800124CE1 /* PanModalPresentable+LayoutHelpers.swift */; }; 74C072AA220BA82A00124CE1 /* UIViewController+PanModalPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74C072A9220BA82A00124CE1 /* UIViewController+PanModalPresenter.swift */; }; + 8E3DC78A2BEB24FA00F0A025 /* OverContextNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED0BEA82BE4BA110094D900 /* OverContextNavigationController.swift */; }; + 8E3DC78B2BEB251B00F0A025 /* OverContextPanModalPresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6ED0BEA62BE4B9DF0094D900 /* OverContextPanModalPresentable.swift */; }; 943904EB2226354100859537 /* BasicViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 943904EA2226354100859537 /* BasicViewController.swift */; }; 943904ED2226366700859537 /* AlertViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 943904EC2226366700859537 /* AlertViewController.swift */; }; 943904EF2226383700859537 /* NavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 943904EE2226383700859537 /* NavigationController.swift */; }; @@ -586,9 +588,11 @@ 743CB2AA222660D100665A55 /* StackedProfileViewController.swift in Sources */, 943904EB2226354100859537 /* BasicViewController.swift in Sources */, DC139073216D9458007A3E64 /* PanModalPresenter.swift in Sources */, + 8E3DC78B2BEB251B00F0A025 /* OverContextPanModalPresentable.swift in Sources */, 943904EF2226383700859537 /* NavigationController.swift in Sources */, DC3B2EBE222A58C9000C8A4A /* AlertView.swift in Sources */, 74C072A5220BA76D00124CE1 /* PanModalHeight.swift in Sources */, + 8E3DC78A2BEB24FA00F0A025 /* OverContextNavigationController.swift in Sources */, 94795C9B21F0335D008045A0 /* PanModalPresentationDelegate.swift in Sources */, 943904F32226484F00859537 /* UserGroupStackedViewController.swift in Sources */, 74C072AA220BA82A00124CE1 /* UIViewController+PanModalPresenter.swift in Sources */,