2011-11-25 62 views
1

我用故事板爲iPhone和iPad做了一個應用程序。讓我知道你是否可以在項目中禁用故事板或者是否需要創建一個沒有故事板的新項目。你如何禁用故事板?

回答

-3

有幾個原因可能會導致您在iOS項目中禁用故事板。這裏有三個把我的頭頂部:

1)

你需要支持的iOS版本,這是超過5(故事板,將與iOS 5中) 故事板功能僅在iOS 5的支持&新,所以如果你想禁用它,只需定位5以上的任何東西(例如iOS 4.3)。 Here's a potentially related question

2)

你有一個故事板的大部分時間你的應用程序的功能,但你也想通過XIB文件提供額外的功能。

3)

一個團隊,一個故事板文件搞亂太多的工程師能夠損壞或弄亂故事板,這樣的附加功能可以通過XIB文件添加(和更容易爲一個工程師「自己」 - - 或者至少修改而不會在每個xib文件中碰撞或丟失更改)。

只需從項目目標摘要中刪除Storyboard(它也出現在Info.plist文件中),並將其替換爲XIB文件(這是Info.plist文件中的「NSMainNibFile」鍵的值)。

+0

但它有可能在同一個項目?你怎麼知道什麼是當前IOS版本通過代碼?感謝代碼 –

+0

中使用的故事板對於以前的IOS的iOS5和XIB文件,就可以得到當前的IOS版本通過執行'[[UIDevice currentDevice] systemVersion]'。如果您想要支持以前的iOS設備(例如4.X),請儘量避免使用故事板。 –

+0

我給出了禁用故事板的有效基本原理和原因,以及**如何禁用,但我仍然贊成投票。 Boooooo。 –

0

雖然創建一個新的項目,你會被要求在項目公司的名稱,以下你將不得不使用故事板複選框。只需取消選擇那。您將擁有xib的默認視圖... njoy ...

1

想必您已經編寫了一個需要在ios4.x上運行的ios5應用程序?

故事板是圍繞它構建的項目的基礎。您需要將所有場景提取到單獨的xib文件中,並重新鏈接所有內容,並手動編寫所有轉場。不過,其他視圖控制器代碼大部分都可以。

我會建議啓動一個新項目並從初始視圖控制器向外移動,這樣您就可以測試並與原始數據進行比較。

14
  1. 在應用程序目標摘要中,除去主要情節提要的值並設置主要接口的值(指定第一個nib文件)。

  2. 您可以刪除用於加載故事板的代碼並添加用於加載自己的窗口的代碼。你不必從頭開始。

看一看你

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

應該有一些代碼,該代碼創建故事板的對象(或從故事板的第一個對象),並呈現它。

+5

這是實際回答問題的唯一回應 - 其他人都只是假定OP是錯誤的,應該使用故事板。 –

+2

另外不要忘記從info.plist文件中刪除主故事板文件名稱條目 – iosDeveloper

0

我有一個問題,我試圖使用多個故事板,所以我想刪除最初的故事板,每次我試圖改變它改回。編輯項目文件和編輯項目plist似乎總是被恢復。

我最終關閉了xcode並使用TextWrangler手動刪除了故事板鍵。

我重新打開了Xcode,故事板鍵現在消失了,沒有給我任何問題。

我對Xcode非常沮喪,所以我希望這有助於某人。

0

有同樣的問題。我將部分代碼從一個項目複製到另一個項目,然後我看到目標項目中第一個項目的故事板,儘管我沒有複製它。我改變了類的名字,然後對故事板的引用消失了。另一個建議是更改目標項目的位置。

see here for the link to my question