我創建了5個額外的故事板,並刪除了主要故事板。這是因爲我想爲iPhone和iPad配備5個獨立的故事板,以匹配5種不同的屏幕尺寸。到目前爲止,我有一個iPhone 3.5英寸,一個iPhone 4英寸,一個iPhone 4.7英寸,一個iPhone 5.5英寸和一個iPad。我已經將代碼放在了下面,將它們鏈接起來並使其工作。但是,當您嘗試構建項目時,它不起作用。沒有錯誤,但可以說我進入iPhone 3.5英寸的故事板,並添加一個UIViewController和一個Button或標籤,然後當您構建項目時,它會進入您的啓動屏幕,然後它不會從那裏做任何事情。我已經將啓動箭頭放在UIViewController中,但除了啓動屏幕之外,我無法獲得任何東西。我已經在所有的故事板和他們的模擬器上嘗試過。我想知道我是否在代碼中遺漏了某些東西,但我不確定。在Xcode中使用多個故事板
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UIStoryboard *storyboard = nil;
if ([[UIDevice currentDevice] userInterfaceIdiom] ==UIUserInterfaceIdiomPad) {
storyboard = [UIStoryboard storyboardWithName:@"Storyboard_iPad" bundle:nil];//iPad
} else {
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
if (screenSize.height == 480){
storyboard = [UIStoryboard storyboardWithName:@"Storyboard_iPhone4S" bundle:nil];//iPhone 3.5inch
} else
if (screenSize.height == 568){
storyboard = [UIStoryboard storyboardWithName:@"Storyboard_iPhone5/5C/5S" bundle:nil];//iPhone 4inch
}
else
{ if (screenSize.height == 667){
storyboard = [UIStoryboard storyboardWithName:@"Storyboard_iPhone6" bundle:nil];//iPhone 4.7inch
} else
if (screenSize.height == 736){
storyboard = [UIStoryboard storyboardWithName:@"Storyboard_iPhone6Plus" bundle:nil];//iPhone 5.5inch
} else
//default storyboard
storyboard = [UIStoryboard storyboardWithName:@"Main.Storyboard" bundle:nil];
}
}
self.window.rootViewController = [storyboard instantiateInitialViewController];
[self.window makeKeyAndVisible];
return YES;
}
謝謝你。但現在它只是進入黑屏而不是我的UIViewController,它有一個標籤說你好。其他尺寸也會發生同樣的情況。 – 2014-11-23 06:55:29
您也可以通過單擊該項目並轉到常規窗格執行此操作。在那裏,只需刪除主界面字段中的「Main」。 – rdelmar 2014-11-23 06:56:11
@BenjaminMcIntyre,你也需要創建窗口。 self.window將在你的代碼中爲零。 – rdelmar 2014-11-23 06:57:01