簡體   English   中英

Xcode 6大小類

[英]Xcode 6 Size Classes

我想問一個有關高度混亂(至少對我來說)的問題-Xcode 6中的大小類。我一直在試圖全面了解所有這些工作原理,但是我仍然不清楚。

在Xcode 6和新iPhone之前,一切都非常簡單。 To(非視網膜和視網膜)顯示使我們能夠始終以相同的分辨率320x480(對於更高的設備為568)工作。 標准和@ 2x資產非常合理。 但是現在,我們的大屏幕的屏幕具有相同的比率(幾乎相同),但是工作區域不再​​相同。

大小類應該使所有內容適合一個故事板。 但是,等等。iPhone 6使用@ 2x資產,據我了解,這意味着該設備上的圖形看起來比iPhone 5 / 5S上的小。 iPhone 6 Plus使用@ 3x資產,看起來也不一樣。 似乎無法使某個按鈕相對於屏幕的整個寬度始終具有相同的大小。 除非我們當然進行編碼,否則這將導致Size類無用。

我是正確理解事物還是錯過了某些事物? 很高興聽到大家的看法。 也許您知道一些不錯的教程? 我還沒有發現任何可以解釋我懷疑的東西。

提前致謝!

您可以使用多種不同方法的組合來完成此處所說的大部分事情:

  1. 不同類型設備的大小類,以涵蓋UI配置中的大多數大規模更改(例如,iPad和iPhone之間的差異)。 例如,您可以使用它來更改是否顯示側邊欄。

  2. 特定於單個尺寸類別的自動布局規則。 您可以為不同的尺寸類別添加不同的自動布局規則,以調整布局(例如,您可以通過這種方式在水平按鈕行和堆疊的按鈕列之間進行切換,因為您現在可以為不同尺寸類別使用不同的自動布局規則)。 一旦您意識到不再需要對所有尺寸類別使用相同的自動布局規則,此技術將非常強大。

  3. 資產目錄可自動為不同的支持分辨率等切換出預渲染的圖形。 另請注意,由於許多較舊的設備實際上並不支持iOS 8,因此您不再需要包含真正的低分辨率版本,除非您需要廣泛的向后兼容性(如果這樣做,則並非所有size類功能都可用)無論如何)。 我剛剛制作了僅支持iOS 8的應用程序的新版本,因為使用舊版本的用戶將僅獲得該應用程序的先前版本。

  4. 可調整大小的圖像:您現在可以在圖像中指定可調整大小的區域,以控制將其應用於UIButton等物體時如何拉伸它們,這些東西可能會根據自動版式規則更改大小。 (這是Android已有一段時間的功能,因此在iOS上很受歡迎。)這意味着您可以在各種屏幕尺寸上使外觀看起來不錯,而無需擁有太多單獨的圖像或對尺寸進行精確控制UI元素。

  5. 視圖控制器中的程序代碼可以調整您無法通過其他任何方式實現的功能。

的確,您並沒有對哪些設備顯示具有尺寸級別的確切布局的精細控制,但我發現這並不是您想象的那么大的問題,因為尺寸級別讓您的視圖控制器非常無縫地適應不同的設備。 自動布局和大小類的組合特別強大。 實際上,這可能是一件好事,因為每當Apple推出不同尺寸的屏幕時,這意味着較少的新手動配置。 現在進行轉換有點痛苦,但從長遠來看可能值得。 您只需要考慮如何將事情設置得有些不同。 它有點像Android,因為他們長期以來一直在面對許多不同的設備屏幕尺寸和分辨率,但這也是該平台的一種自然演進,您無法真正為每個物理設備進行精確設計作為實際問題(盡管您仍然應該在模擬器中對其進行測試)。

尺寸類別不僅僅可以適應更大的屏幕尺寸,它們還可以用於完全不同的布局。 像在iPhone上一樣,您可能會顯示一個項目,然后點按以進入下一個屏幕以獲取更多信息,但在iPad上,您會在同一屏幕上同時顯示兩者。

對於較小的調整,可以使用自動布局,每個尺寸類別使用不同的布局,並且每個尺寸類別中的不同屏幕尺寸由自動布局處理。

暫無
暫無

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

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