簡體   English   中英

如何使用尺寸等級為小型iPhone和iPhone 6加上不同的設計?

[英]How to make a different design for small iPhones and iPhone 6 plus using size classes?

是否可以在Interface Builder for iPhone 6 plus和其他使用大小類的iPhone中進行不同的設計? 我只需要肖像模式。

根據一些教程( http://swiftiostutorials.com/using-size-classes-xcode-6/ ),它似乎應該是可能的。 同樣在IB Compact + Any似乎適用於小型iPhone:

在此輸入圖像描述

適用於所有iPhone的Compact + Regular:

在此輸入圖像描述

但是,當我試圖接受不同的設計時,它不起作用。 例如,如何隱藏小型iPhone的視圖並將其顯示為iPhone 6 plus? 在此輸入圖像描述

可悲的是,你只能用於橫向(iPhone 6 plus具有與其他iPhone系列不同的特征集合)。

它在IB中的措辭方式有點誤導。 你是正確的期望w Compact h Regular來覆蓋w Compact h Any的規則。 問題是,在iPhone 6下加在WH普通類下降太多。

在iPhone 6 plus上運行時打印視圖的特征集證明了這一點:

<UITraitCollection: 0x7f968ada42c0; _UITraitNameUserInterfaceIdiom = Phone, _UITraitNameDisplayScale = 3.000000, _UITraitNameHorizontalSizeClass = Compact, _UITraitNameVerticalSizeClass = Regular, _UITraitNameTouchLevel = 0, _UITraitNameInteractionModel = 1>

這兩個特別是:

_UITraitNameHorizontalSizeClass = Compact, _UITraitNameVerticalSizeClass = Regular

您可以在運行時更改/覆蓋特征(即告訴視圖“無論您的想法如何,我說您有緊湊的高度等”)但是對於您的情況,我只需打開屏幕的高度並基於此手動隱藏視圖信息。

在縱向方向上,您無法使用尺寸類來區分iPhone 6和6+。 您必須通過在加載視圖后檢查屏幕高度以編程方式執行此操作。

人機界面指南顯示,兩部手機都具有相同的縱向特征: 緊湊寬度/常規高度 第一張圖片中的集合是緊湊寬度/任何高度,其中包括緊湊寬度/常規高度 - 這就是為什么如果您在一個視圖而不是另一個視圖中安裝視圖時沒有看到差異的原因。

雖然不適用於您的情況,但值得注意的是,您可以在橫向方向上區分這兩個設備,因為6+使用常規寬度/緊湊高度,但較小的手機使用緊湊寬度/緊湊高度。

暫無
暫無

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

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