簡體   English   中英

環球故事板?

[英]Universal Storyboard?

在iOS開發的舊XIB世界中,我能夠創建一個View Controller和一個XIB,並將它們用於iPhone和iPad環境。 只需進行一些代碼調整,XIB就會調整大小並進行調整以適應不同的尺寸和寬高比。 這使我可以降低兩種布局隨時間不同步的風險。

在故事板的世界中,同樣的事情是可能的嗎? 默認情況下,Xcode為我的Universal應用程序創建了兩個不同的故事板 - 一個用於iPhone,另一個用於iPad。

如何為兩者使用一個故事板?

謝謝!

更新:

Xcode 6中的大小類基本上可以實現Universal Storyboards的目標。 更多信息:

https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/WhatsNewXcode/Articles/xcode_6_0.html

簡而言之......你做不到。

在iPhone開發結束時,我用它來創建iPad故事板。

您必須找到iPhone故事板並使用終端,您可以復制它,為其提供Xcode為您創建的iPad故事板的名稱。 刪除空的舊故事板並打開新復制的一個changinge targetRuntime屬性為“iOS.CocoaTouch.iPad”而不是舊值“iOS.CocoaTouch”。

用Xcode打開iPad故事板,一切都在那里,但它仍然需要安排並連接到ViewController(包括接線的東西......)。 它並不完美,但我通常這樣做是為了節省一些容易出錯的復制和粘貼(以及幾個小時)。

如果您只想將iPhone的應用程序作為目標並將其發送到iPad,您只需使用iPhone Xib,就可以獲得右下角的2x小按鈕。

2014年末更新(Xcode 6測試版發布后)

Xcode 6現在允許您定義單個故事板並通過大小類概念 ,使其適應所有設備。 這個解決方案有點令人困惑(特別是如果你熟悉Android環境中如何解決這個問題),但這是正確的方向恕我直言。

是的你可以。 您只需在常規/部署信息下的Xcode中選擇相同的故事板即可

我有一些應用程序有這個。 他們共享很多視圖控制器。 如果使用自由形式大小,則可以在故事板和兩個單獨的segue中創建單獨的視圖控制器。

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
       [self performSegueWithIdentifier:@"Open VC" sender:sender];
} else {
       [self performSegueWithIdentifier:@"Open VC iPad" sender:sender];
}

唯一的缺點是,除非您切換到iPad故事板,否則不能直接從故事板(popover等)使用iPad特定控件

暫無
暫無

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

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