2015-12-04 65 views
0

我想根據設備更改UIText,UIButton文本的大小。我試圖通過爲不同的設備類型定義不同的尺寸來使用尺寸類。Swift:如何使用大小類來更改UILabel,UIButton文本的大小?

E.g.要爲iPhone的定義大小,我做了以下步驟:

  1. 選用大小類wCompact hRegular

  2. 增加了「wCompact hRegular」類通過單擊屬性檢查器底部的+圖標。 (就在安裝按鈕之前)

  3. 通過在屬性檢查器中爲「wCompact hRegular」添加大小來添加所需的大小。

但我仍然無法獲得iPhone的定義大小,而是爲「wAny hAny」定義的大小也消失了。

有人能告訴我上面的過程出了什麼問題,或者給出一些很好的使用大小類的書面教程。

注意:我遵循http://swiftiostutorials.com/using-size-classes-xcode-6/鏈接,但我無法獲得該帖子中提到的輸出。

+0

無法使用大小類更改字體大小。你只能嘗試使用'adjustsFontSizeToFitWidth'屬性。 –

回答

0

尺寸類更適合於適應不同的設備方向,例如。從風景到肖像不適用於不同尺寸的屏幕。在大多數情況下,您可以根據佈局限制來調整屏幕尺寸。嘗試着重於佈局的意圖,而不是UIButton應該具有的像素數量作爲寬度。例如,UIButton可以左對齊到超視圖然後右對齊到UITextField等等。最終,夢想是創建可以適應不同大小屏幕的佈局,而無需爲不同的屏幕尺寸更改任何內容。

如果你仍然真的想爲不同的設備大小設置特定的尺寸,那麼在適應性元素上設置約束,並用類似的東西改變常量。我不確定是否有更優雅的方式來實現這一點。

switch UIScreen.mainScreen().bounds.size.width{ 
case kIphone6PlusWidth: 
    buttonWidthConstraint.constant = 120 
case kIphone6Width: 
    buttonWidthConstraint.constant = 100 
default: 
    buttonWidthConstraint.constant = 80 
}