簡體   English   中英

如何為不同的屏幕設置自動調整大小的文本

[英]How to set auto size text for different screens

我的任務是為不同的屏幕分辨率保留單元格中元素的大小和位置。

我做了:

  1. 為外部容器的紅色和綠色塊(UILabels)建立約束。
  2. 將它們之間的約束設置為0。它的優先級高於紅色塊在底部和綠色在頂部的限制。
  3. 為這些標簽設置行= 0。
  4. 設置自動收縮。

結果,字體大小在不同的設備上改變。 但是仍然存在一些問題:

  1. 如何刪除兩個標簽上方和下方的太大填充物?
  2. 如何使它們均勻地調整大小? 現在,其中一個塊比另一個塊具有優勢,這取決於要賦予更高優先級的約束。 如果使它們相等-也將不起作用。

(我想通過Interface Builder做所有事情)

您可以利用相等的高度和相等的寬度約束。

請按照以下步驟操作,以使iPhone 8和iPhone 4s上的UILabel間距相同。 這將幫助您使其成比例。

1)要實現此目的,只需選擇您的label(紅色),label(綠色)和superview(我認為您是UICollectionView的單元格)

在此處輸入圖片說明

2)我們對保持高度成比例感興趣。 即紅色標簽(80%)和綠色標簽(20%)

當前,所有高度都等於超級視圖的高度,即RedLabel和Greenlabel的高度等於超級視圖的100%。

但目標是使紅色和綠色標簽分別達到80%和20%。

因此,選擇紅色標簽高度約束。 在這里,您將設置約束條件,即“紅色標簽的高度應為超級視圖高度的80%”。

同樣,對於“綠色標簽”,設置“綠色標簽的高度,以使它占Superview高度的20%”。

紅標

在此處輸入圖片說明

綠色標簽

在此處輸入圖片說明

3)現在完成x和y軸位置約束,這很簡單

a)紅色標簽前導= Superview的前導邊緣

b)紅色標簽尾隨=超級尾隨

c)紅色標簽頂部=超級視圖的頂部邊緣

d)紅色標簽底部= 不需要 (因為它具有所有必要的約束條件來證明其位置即高度= 0.8 *超級視圖並且頂部對齊,例如:超級視圖高度為100,使該視圖頂部與height = 80對齊)

e)綠色標簽領先=紅色標簽領先(您已經在點“ a”中設置了此功能,無需再次為綠色標簽設置約束)

f)綠色標簽結尾=紅色標簽開頭(您已經在點“ b”中設置了此標簽,無需再次為綠色標簽設置約束)

g)綠色標簽底部=超級視圖底部

h)綠色標簽top = 不需要 (因為它具有所有必要的約束條件以證明其位置正確,即height = 0.2 * superview並與底部對齊,例如:super view的高度為100,使此視圖底部與height = 20對齊)

這是最終的約束列表以及iPhone 8和4s的情節提要預覽。

在此處輸入圖片說明

暫無
暫無

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

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