如何在iOS7上爲iPhone 3.5英寸創建單獨的.storyboard
?我已經將它添加到項目中,但不知道如何爲應用程序激活不同的.storyboard
文件。如何在iOS7上爲iPhone 3.5英寸創建單獨的.storyboard?
P.S.在我的項目中有沒有代碼initWithNibName
。
如何在iOS7上爲iPhone 3.5英寸創建單獨的.storyboard
?我已經將它添加到項目中,但不知道如何爲應用程序激活不同的.storyboard
文件。如何在iOS7上爲iPhone 3.5英寸創建單獨的.storyboard?
P.S.在我的項目中有沒有代碼initWithNibName
。
默認情況下,所有的iPhone的屏幕尺寸將共享相同的故事板。您可以使用自動佈局或自動調整(支柱和彈簧)進行調整,以解決屏幕尺寸的差異。這是首選方式,因爲在製作UI更改時,您不必更新兩個不同的故事板。您還可以在代碼中進行調整,以考慮不同的屏幕尺寸,這對於更復雜的更改有時是必需的。
如果你必須使用一個單獨的故事板,那麼你需要進入你的項目目標,並從它說「主界面」的地方刪除故事板。然後進入您的應用程序委託。在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法,你需要添加類似下面的代碼:
self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *viewController = [storyboard instantiateInitialViewController];
self.window.rootViewController = viewController;
[self.window makeKeyAndVisible];
您可以通過查看UIScreen.mainScreen.bounds
檢查屏幕的高度來選擇不同的故事板的線路使用它得到的故事板。
正如我所說,儘管如此,我認爲使用相同的故事板並使用自動佈局等功能來調整屏幕是一個更好的主意。維護起來要容易得多,看起來更乾淨,而且可能不會有問題。
我不會推薦這樣做,除非視圖實際上不同(不只是大小不同)。但是,如果你在你的應用程序代理檢查窗口的大小,然後手動加載故事板有可能在這裏問解釋:
Using Multiple Storyboards in iOS
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MyStoryboardIdentifier" bundle:nil];
UIViewController* myStoryBoardInitialViewController = [storyboard instantiateInitialViewController];
[self.navigationController pushViewController:myStoryBoardInitialViewController animated:YES];
謝謝,但這段代碼是不正確的:''presentModalViewController:animated:'已棄用:iOS 6.0以前不推薦使用 – Dmitry
我道歉,我複製了錯誤的部分。我已經在上面更新了它。 – lehn0058