簡體   English   中英

Swift /如何根據屏幕尺寸更改自動約束值

[英]Swift / how to change autocontraint value depending on screen size

我正在使用擴展程序來識別設備。 我有一個UIImage在iPhone 5S上看起來太大。 我想根據設備縮放約束。 我希望它像這樣:

if modelName == "Simulator" {
    cell.eventsImageViewWidthContraint =  Original * 0.8
}

什么是正確的代碼才能將約束大小(目前為360)更改為該大小的約0.8。

看來您目前正在限制ImageView的寬度為常數。 我建議使用2個選項來代替使用常量。 我假設您正在使用Interface Builder。

  1. 將左邊緣和右邊緣約束到與包含視圖相距一定距離的位置。
  2. 將寬度限制為包含視圖的寬度的比率。 這可以通過ctrl +從圖像視圖拖動到其包含的視圖並選擇“縱橫比”來實現。 您可以通過單擊“界面生成器”中的約束並在“大小”檢查器中調整值來微調執行比例的尺寸。

您也可以嘗試使用大小類來根據屏幕的常規大小更改視圖的大小。

如果您使用的是代碼,請遵循上面的建議。 如果您正在尋找一種簡單的代碼解決方案,請獲取尺寸視圖的框架並使用這些數字進行計算。 例如:

yourView.bounds.width = 0.5 * yourRootView.bounds.width

此代碼將視圖的寬度設置為其根視圖的寬度的一半

暫無
暫無

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

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