在我的應用程序中,大多數視圖在用於小型設備(例如iPhone縱向)和大型設備(例如iPad全屏)上時都存在主要的UI設計差異。基本架構保持不變,但每個View Controller需要顯示一組非常不同的UI元素。如何根據iOS 9中尺寸等級的變化來交換視圖控制器?
我可以通過根據大小類安裝和卸載元素和自動佈局約束來響應Interface Builder中的大小更改,但這樣會非常笨重和易碎。
在你們古時(2014年),蘋果公司的建議是:
如果你想提出不同的基於設備是否處於縱向或橫向相同的數據,這樣做的方法是使用兩個獨立的視圖控制器一個視圖控制器應該管理主要方向(通常是縱向)中的數據顯示,而另一個視圖控制器管理以替代方向顯示數據。
儘管尺寸等級的出現,這給我的印象仍然是我的特殊設計的最佳解決方案(記住採取規模類和拆分視圖,幻燈片式的責任。)
問題1:在什麼點我的應用程序應該檢測到特徵的變化?
問題2 :(假設我已經從故事板加載了一個備用視圖控制器)來響應特性變化,我應該如何最佳地轉換/呈現備用視圖控制器?
我問同樣的問題在這裏問:Adaptive swapping of View Controllers in response to Size Class Trait changes iOS 9
因爲沒有人回答了原來的問題。
感謝您的回答亞倫。我忘了提一件事。我對iPad的看法與iPhone上的相同觀點不共享任何常見的UI元素。它是一個完全不同的觀點。 – user3158704
在這種情況下,聽起來像統一的故事板不起作用。但它也聽起來像它可能是一個令人困惑的應用程序:) –