簡體   English   中英

自動布局視圖在較小的設備上重疊

[英]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.

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