0
我有四個應用程序,並希望將它們組合成一個應用程序。是否可以通過點擊按鈕來運行不同的iOS項目?
如果我添加這些項目到項目工作區 - 例如有項目A和項目B - 是否有可能點擊一個按鈕,去項目A的根控制器, 然後點擊另一個按鈕去項目B的根控制器?
如果可能,我該怎麼做?
我有四個應用程序,並希望將它們組合成一個應用程序。是否可以通過點擊按鈕來運行不同的iOS項目?
如果我添加這些項目到項目工作區 - 例如有項目A和項目B - 是否有可能點擊一個按鈕,去項目A的根控制器, 然後點擊另一個按鈕去項目B的根控制器?
如果可能,我該怎麼做?
是可以點擊一個按鈕,去項目A的根 控制器,然後點擊另一個按鈕去項目B的根 控制器?
一種自然的方法是使用標籤欄控制器管理各種「根」視圖控制器。例如,您的應用程序委託可以以編程方式創建UITabBarController
,然後使用每個故事板中的根視圖控制器加載它。它會去是這樣的:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.tabBarController = [[UITabBarController alloc] init];
// Project 1
UIStoryboard *storyboard1 = [UIStoryboard storyboardWithName:@"Project1" bundle:nil];
UIViewController *controller1 = [storyboard1 instantiateInitialViewController];
// Project 2
UIStoryboard *storyboard2 = [UIStoryboard storyboardWithName:@"Project2" bundle:nil];
UIViewController *controller2 = [storyboard1 instantiateInitialViewController];
// Project 3
UIStoryboard *storyboard3 = [UIStoryboard storyboardWithName:@"Project3" bundle:nil];
UIViewController *controller3 = [storyboard1 instantiateInitialViewController];
// Project 4
UIStoryboard *storyboard4 = [UIStoryboard storyboardWithName:@"Project4" bundle:nil];
UIViewController *controller4 = [storyboard1 instantiateInitialViewController];
// Add the controllers to the tab controller
[self.tabBarController setViewControllers:@[controller1, controller2, controller3, controller4]
animated:NO];
//...put any other app initialization stuff here...
return YES;
}
此時標籤欄將有四個按鈕,每一個「根」視圖控制器,你就可以隨意在它們之間進行切換。
我還沒有編譯上面的,但它應該足以讓你開始。當然,您必須理清各種視圖控制器可能對應用程序代理的任何依賴關係,等等。但這不應該太困難。您還應該確保每個視圖控制器都配置了選項卡欄項目,以便標籤欄控制器將知道在相應按鈕上使用的圖標和名稱。
「轉到項目根控制器」是什麼意思? – vladof81
按鈕單擊後轉到項目A的故事板並運行其根視圖控制器 – JennyProGram
製作容器視圖控制器並將兩個應用程序的入口點添加到該容器。向容器視圖控制器視圖添加一個按鈕。添加一個加載入口點的動作。 – dasdom