diff --git a/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift b/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift index 48e98ebdd21475cbaf5ded8518d64c576e53a7d2..dbc19121e67cbe75edd54d371d5394d18f44dc56 100644 --- a/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift +++ b/AgileWorks/AgileWorks/Main/View/MainTabBarViewController.swift @@ -81,6 +81,13 @@ extension MainTabBarViewController: UITabBarControllerDelegate { return true } func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) { + //アラートが表示されていたら画面遷移しない + for vc in self.children { + let alert = vc.presentedViewController as? UIAlertController + if alert != nil { + return + } + } // 選択した TabBarController のリロード if let navi = tabBarController.selectedViewController as? UINavigationController { if let webView = navi.viewControllers[navi.viewControllers.count - 1] as? WebViewController { diff --git a/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift b/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift index 12f8b1cc63a1ab73b7207cc2f247b359b3b466fc..15a43c32055ae1036b70968c6557a749d84fe602 100644 --- a/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift +++ b/AgileWorks/AgileWorks/Main/Wireframe/MainTabBarViewWireframe.swift @@ -22,9 +22,22 @@ class MainTabBarViewWireframeImpl { } extension MainTabBarViewWireframeImpl: MainTabBarViewWireframe { + //アラートが表示されているか確認 + func alertCheck() -> Bool { + //最前面のViewがUIAlertControllerであれば閉じる + let topVC = viewController.children[viewController.selectedIndex].presentedViewController + let alert = topVC as? UIAlertController + if alert != nil { + return true + } + return false + } + //ウィジェットからの起動 func showApprovalDetail(url: String) { - // ウィジェットからの起動 - // 以下、XPoint時のコード + //アラートが表示されていたら画面遷移しない + if alertCheck() { + return + } let workNum = 1 viewController.selectedIndex = workNum @@ -40,6 +53,11 @@ extension MainTabBarViewWireframeImpl: MainTabBarViewWireframe { } // 通知から書類表示 func showDocForm(notificationData: NotificationData) { + //アラートが表示されていたら画面遷移しない + if alertCheck() { + return + } + let modalWebVC = WebViewBuilderImpl().buildVC() // URL , タイトル設定 modalWebVC.loadURL = notificationData.url