簡體   English   中英

如何在iOS7上為iPhone 3.5英寸創建單獨的.storyboard?

[英]How can I create a separate .storyboard for iPhone 3.5 inch on iOS7?

如何在.storyboard為iPhone 3.5英寸創建單獨的.storyboard? 我已經將其添加到項目中,但是不知道如何為應用程序激活不同的.storyboard文件。

PS我的項目上沒有 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來檢查屏幕的高度,以選擇要在獲得情節提要的行中使用的其他情節提要。

但是,正如我所說,我認為最好使用相同的故事板,並使用自動布局之類的功能來進行屏幕調整。 它將更加易於維護,看起來更整潔,並且可能減少了越野車的使用。

除非視圖實際上不同(不只是大小不同),否則我不建議您這樣做。 但是,如果您檢查應用程序委托中的窗口大小,然后手動加載此處解釋的情節提要,則是可能的:

在iOS中使用多個情節提要

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MyStoryboardIdentifier" bundle:nil];
UIViewController* myStoryBoardInitialViewController = [storyboard instantiateInitialViewController];

[self.navigationController pushViewController:myStoryBoardInitialViewController animated:YES];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM