[英]iOS - autolayout scaling for different screen sizes of buttons over an imageView
我有一個父UIView,里面有一個UIImageView和另一個UIView。 UIImageView有一個圖像,並且它被限制為與父UIView相同的大小。 子UIView也被限制為與父UIView相同的大小,並且它的按鈕位於UIImageView某些部分的上方(這允許用戶單擊圖像來觸發操作,具體取決於單擊圖像的位置)。
我試圖通過使用尺寸類來設置AutoLayout約束,但似乎無法根據屏幕尺寸來調整它們的大小。 我已經在iPhone 8屏幕上創建了固定約束。 iPhone 8,iPhone X和iPhone 8 Plus的寬度均為“緊湊/高度常規”,但是僅在iPhone 8 / X上看起來正確。 我也希望按比例縮小iPhone SE / 4s的尺寸。
外觀如下所示(真實背景已替換為藍色背景):請注意,所有3個屏幕的按鈕大小均相同
根據iPhone 8 / X的屏幕大小,子UIView中的按鈕具有固定的上/下/前/下約束。
如何在所有屏幕尺寸上都相應地調整按鈕大小,同時在圖像上保持相同的位置,該位置也會根據屏幕尺寸進行縮放?
更新:用StackView替換內部UIView並更新約束后,均等地填充分布,它看起來像以下結構:
我如何使它看起來像這樣?
更新2:
增加了stackView的間距和居中X / Y。
更新3:我在imageView中擁有的圖像在Aspect Fit中具有“內容模式”。 如何在此模式下縮放按鈕?
首先關於父視圖不要給它靜態高度(371)->而是給主視圖一個比例高度約束
關於內部子視圖的第二個
1- imageView不會像您想象的那樣調整大小,因為它具有前導,尾隨,頂部,B約束
2-對於帶按鈕的視圖相同
而不是給這些約束,請考慮為這些子視圖給CenterX&Y提供比例的寬度和高度約束給父視圖
如果您還沒有使用stackView,它們也將適合這些按鈕
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.