Эх сурвалжийг харах

setup AppCoordinator/MainViewControllers

Jonas Reinsch 7 жил өмнө
parent
commit
a9ea2f102b

+ 4 - 0
deltachat-ios.xcodeproj/project.pbxproj

@@ -9,6 +9,7 @@
 /* Begin PBXBuildFile section */
 		7A451D941FB1B1DB00177250 /* wrapper.c in Sources */ = {isa = PBXBuildFile; fileRef = 7A451D921FB1B1DB00177250 /* wrapper.c */; };
 		7A451DAE1FB1F5A200177250 /* libetpan-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A451DA71FB1F4BF00177250 /* libetpan-ios.a */; };
+		7A451DB01FB1F84900177250 /* AppCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A451DAF1FB1F84900177250 /* AppCoordinator.swift */; };
 		7A7923401FB0A14300BC2DE5 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A79233F1FB0A14300BC2DE5 /* libiconv.tbd */; };
 		7A79236A1FB0A2C800BC2DE5 /* compress.c in Sources */ = {isa = PBXBuildFile; fileRef = 7A79235D1FB0A2C800BC2DE5 /* compress.c */; };
 		7A79236B1FB0A2C800BC2DE5 /* create.c in Sources */ = {isa = PBXBuildFile; fileRef = 7A79235E1FB0A2C800BC2DE5 /* create.c */; };
@@ -91,6 +92,7 @@
 		7A451D921FB1B1DB00177250 /* wrapper.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = wrapper.c; sourceTree = "<group>"; };
 		7A451D931FB1B1DB00177250 /* wrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = wrapper.h; sourceTree = "<group>"; };
 		7A451D9A1FB1F4BF00177250 /* libetpan.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libetpan.xcodeproj; path = "deltachat-ios/libraries/libetpan/build-mac/libetpan.xcodeproj"; sourceTree = "<group>"; };
+		7A451DAF1FB1F84900177250 /* AppCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppCoordinator.swift; sourceTree = "<group>"; };
 		7A79233F1FB0A14300BC2DE5 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
 		7A7923451FB0A2C800BC2DE5 /* config-netpgp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "config-netpgp.h"; sourceTree = "<group>"; };
 		7A7923461FB0A2C800BC2DE5 /* config-original-as-configured-for-ubuntu-16.04-64bit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "config-original-as-configured-for-ubuntu-16.04-64bit.h"; sourceTree = "<group>"; };
@@ -329,6 +331,7 @@
 				7A9FB1561FB06540001FEA36 /* deltachat-ios-Bridging-Header.h */,
 				7A451D921FB1B1DB00177250 /* wrapper.c */,
 				7A451D931FB1B1DB00177250 /* wrapper.h */,
+				7A451DAF1FB1F84900177250 /* AppCoordinator.swift */,
 			);
 			path = "deltachat-ios";
 			sourceTree = "<group>";
@@ -631,6 +634,7 @@
 				7A9FB5471FB08557001FEA36 /* mrmailbox_imex.c in Sources */,
 				7A9FB53C1FB08557001FEA36 /* mrcmdline.c in Sources */,
 				7A79236A1FB0A2C800BC2DE5 /* compress.c in Sources */,
+				7A451DB01FB1F84900177250 /* AppCoordinator.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

+ 45 - 0
deltachat-ios/AppCoordinator.swift

@@ -0,0 +1,45 @@
+//
+//  AppCoordinator.swift
+//  deltachat-ios
+//
+//  Created by Jonas Reinsch on 07.11.17.
+//  Copyright © 2017 Jonas Reinsch. All rights reserved.
+//
+
+import UIKit
+
+class AppCoordinator {
+    
+    func setupMainViewControllers(window: UIWindow) {
+        let contactViewController = UIViewController()
+        contactViewController.view.backgroundColor = UIColor.red
+        let chatViewController = UIViewController()
+        chatViewController.view.backgroundColor = UIColor.green
+        let settingsViewController = UIViewController()
+        settingsViewController.view.backgroundColor = UIColor.blue
+        
+        let contactTabbarItem = UITabBarItem(tabBarSystemItem: .contacts, tag: 0)
+        let chatTabbarItem = UITabBarItem(tabBarSystemItem: .bookmarks, tag: 1)
+        let settingsTabbarItem = UITabBarItem(tabBarSystemItem: .more, tag: 2)
+        
+        contactViewController.tabBarItem = contactTabbarItem
+        chatViewController.tabBarItem = chatTabbarItem
+        settingsViewController.tabBarItem = settingsTabbarItem
+        
+        
+        
+        let tabBarController = UITabBarController()
+        
+        tabBarController.viewControllers = [
+            contactViewController,
+            chatViewController,
+            settingsViewController,
+        ]
+        
+        window.rootViewController = tabBarController
+        window.makeKeyAndVisible()
+        window.backgroundColor = UIColor.white
+    }
+    
+}
+

+ 5 - 3
deltachat-ios/AppDelegate.swift

@@ -76,9 +76,11 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
         guard let window = window else {
             fatalError("window was nil in app delegate")
         }
-        window.rootViewController = ViewController()
-        window.makeKeyAndVisible()
-        window.backgroundColor = UIColor.white
+        let appCoordinator = AppCoordinator()
+        appCoordinator.setupMainViewControllers(window: window)
+        
+    
+        
         
         guard let ump = mrmailbox_get_version_str() else {
             fatalError("Error: invalid version string")