2014-09-27 179 views
8

我有一個在Xcode 5中創建的項目。「部署信息」設置顯示Devices:Universal,但具有獨立的iPhone和iPad設置以及相應的iPhone和iPad故事板。如何從iPhone/iPad故事板遷移到通用故事板

現在我正在開發相同的項目在Xcode 6中,我想使用一個通用故事板而不是兩個故事板。我只在iPhone故事板上工作過,沒有碰過iPad。是否可以放棄iPad故事板並將現有的iPhone故事板轉換爲我的主要通用故事板?

回答

12

我修改了​​和@tharkay的similar solution以創建下面的解決方案。

  • 重命名Main_iPhone.storyboardMain.storyboard
  • 刪除Main_iPad.storyboard
  • ***如果你想使用iPad,而不是故事板的iPhone,重命名Main_iPad.storyboardMain.storyboard並刪除Main_iPhone.storyboard文件。然後,您需要轉到文件檢查器並右鍵單擊故事板,然後選擇「作爲源代碼打開」。這將顯示所有的XML代碼。改變從"iOS.CocoaTouch.iPad"targetRuntime"iOS.CocoaTouch"

來源:

targetRuntime="iOS.CocoaTouch.iPad" 

到:

targetRuntime="iOS.CocoaTouch" 
  • 在項目文件,在常規設置,選擇Main.storyboard用於iPhone和iPad。

enter image description here

  • Main.storyboard,右側面板上選擇Show the File inspector圖標。

enter image description here

  • 檢查名爲Use Size classes

enter image description here

  • 的XCode將提示框與一個Xcode 5兼容性消息,選擇YES。
  • 編譯並運行。
  • 當然,你所有的觀點都應該搞砸了,你需要重做自動佈局。
0

我找到了一個簡單的解決方案,它爲我工作。

複製您的MainStoryboardFile菜單

現在右鍵重命名爲MainStoryboard_iPad.storyboard您MainStoryboard_iPad文件並單擊open as a source code

您將獲得一個XML文檔。 現在對XML文件進行一些更改,如下所示。

搜索targetRuntime="iOS.CocoaTouch"並更改爲targetRuntime="iOS.CocoaTouch.iPad"

移除類型= "retina4"<simulatedScreenMetrics key="destination" type="retina4"/>

<simulatedScreenMetrics key="destination"/> 

再次打開該文件MainStoryboard_iPad在界面生成器。 萬歲...你會得到你的iPad版故事板。現在你只需要根據你的佈局改變寬度和高度。

這幫助了我很多,並節省了很多時間。

:)我確定它會幫助你!

+1

謝謝你的回答。我正在尋找一種方法將iphone故事板轉換爲* single * universal storyboard,而不是有兩個故事板。 – rmp251 2014-10-09 16:15:38

+0

您是否找到解決方案? – DogEatDog 2014-10-15 16:04:17

+0

@DogEatDog - 是的,這幫助我很多,並保存了我的1-2天。 :)你可以自己嘗試。 – DevdDexter 2014-10-16 06:41:16

1

在xCode 9中,我還必須將useTraitCollections="YES"屬性添加到文檔標記(targetRuntime="iOS.CocoaTouch"是相同的地方)。