[英]autolayout view gets overlapped on smaller devices
基本上我有一個高度為x的視圖和其他四個高度為y的視圖,所有這5個視圖在垂直方向上都相隔10像素
所有這些視圖又有一些依賴於它們的子視圖。
對於這種情況,stackview是理想的,但是它支持從iOS 9開始,但是我必須從iOS 6開始支持
所以基本上我固定了所有帶有領先,尾隨,頂部,底部和高度約束的視圖...
在iPhone 7s上效果很好...但是在iPhone 4s上,視圖彼此重疊
在iPhone上,視圖非常擁擠。
我一直認為高度會根據iPHone 4s的屏幕尺寸而變化,但那沒有發生
我該如何解決呢?
有兩種方法可以解決您面臨的問題。
第一:
您可以使用比例高度約束,而不是給任何UIView
固定高度。 選擇您的UIView
並控制 +從UIView
拖動到主超級視圖。 選擇相等的高度約束。 現在,雙擊高度約束並將乘數設置為0.15或任何看起來不錯的值。 這樣可以確保由此創建的視圖始終是整個視圖高度的0.15倍。 現在,您可以按照相同的步驟創建與該視圖成比例的其他視圖,也可以創建與父視圖成比例的其他視圖。
第二:(我傾向於將這種方法用於項目,因為有時您需要創建表單,但上述方法可能仍將元素推離屏幕)。
這將使用UIScrollView
。 到主視圖中添加UIScrollView
並添加前置 , 頂部和底部約束到您的上海華 。 在此UIScrollView
添加一個UIView
,並為其指定前導 , 尾隨 , 頂部和底部 。 另外,給UIScrollView
的超級視圖一個相等的高度和寬度約束,其優先級較低,例如250。現在,將所有元素添加到此UIView
但看起來合適。 固定高度時,比例高度隨便運行即可。 但是,請確保為最底部的視圖添加底部>=
最小值。
如果內容不顯示在屏幕上,則屏幕將自動變為可滾動狀態,否則根本無法滾動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.