簡體   English   中英

如何在故事板中設置約束,使用autolayout在不同設備大小上設置動態位置

[英]How to setup constraints in storyboard with autolayout for dynamic position on different device sizes

我有一個問題,如果我想保證多屏幕支持,如何在故事板中設置約束,以便所有UI控件都可以訪問,並且UI不會在較小的屏幕尺寸設備(IPhone 4s或IPhone SE)上搞砸我在更大的屏幕尺寸設備(IPhone 6)上進行設計。 我有一個設計在iPhone 6(在草圖文件中)建立,我想轉移到我的故事板。 所以一般來說我想在故事板中設置所有視圖內容而不是通過代碼。

這是我的約束。 底部的按鈕具有48的固定高度和左右的前導,以及與底部的垂直距離100。 頂部按鈕與底部按鈕的高度相等,與底部按鈕的距離為28。

約束

這是設計的視圖與IPhone 6上提到的按鈕。這是我想要設置草圖文件的故事板原因的默認大小。

iPhone 6

這是iPhone 4s上的視圖

Iphone 4s

如您所見,按鈕是靠近固定垂直距離和固定高度的中間原因。 我的意思是這顯然是固定值的原因。 所以我對這里提到的百分比位置進行了一些研究,但這是正確的方法嗎? 其他方式對我來說也很復雜。 如何防止高度和垂直距離等固定值? 有沒有辦法為iPhone 6設置48的固定高度,然后根據屏幕尺寸(對於底部垂直距離和其他固定值相同)縮小按鈕(對於IPhone SE)?

有人可以給我任何建議,我可以在這里繼續嗎?

這有點復雜,我試着盡可能多地解釋它。

注意:自動布局就像逐步構建建築物一樣。

選擇頂部按鈕並添加這些約束(前導:8,尾隨:8,並選擇寬高比復選框) +並添加“水平中心和垂直中心約束”選擇垂直中心約束並將其乘數更改為1.5或增加或減少它相應的價值。

在此警告之后應該沒有錯誤,如果有的話。

選擇第二個按鈕並將頂部約束添加到8.選擇兩個按鈕並添加在屏幕中突出顯示的約束。 在此輸入圖像描述

運行並檢查不同的屏幕。 希望它有所幫助。

  • bottomButton.bottom = superview.bottom * 0.9

要么

  • 按代碼更改底部約束

      bottomConstraint.constant = xx self.view.layoutIfNeeded() 

暫無
暫無

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

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