[英]Unexpected result for autolayout on iphone 6 plus
我在視圖控制器(VC)上添加了一個uiview,嘗試設置它的寬度等於VC視圖的寬度。
我設定和期望的內容:
我在iPhone 6 plus上得到了什么:
我試圖改變領先空間和尾隨空間的常量,沒有任何幫助。 iphone 6+ autolayout有什么特別之處嗎?
此處的視圖設置為“任意寬度x常規高度”
-------已添加2016年12月對於像我這樣困惑的人:UIView中有一個布局邊距屬性,它是一個UIEdgeInsets(8,8,8,8)。 這就像css padding。
當視圖的邊緣靠近超視圖的邊緣並且preservesSuperviewLayoutMargins屬性為true時,可以增加實際的布局邊距以防止內容與superview的邊距重疊。
默認邊距為每邊八個點。
如果視圖是視圖控制器的根視圖,則系統會設置和管理邊距。 頂部和底部邊距設置為零點。 側邊距取決於當前尺寸等級,但可以是16或20點。 您無法更改這些邊距。
添加約束時,嘗試刪除檢查約束邊距。 這里看看:
檢查邊界到邊距並檢查其結果
現在,刪除約束並重新添加約束與Constrain到未選中的邊距后,結果如下:
Sharon的答案非常有效,但您不必刪除現有的約束來解決問題。 您可以編輯現有約束以消除無關邊距:
編輯現有約束以刪除無關的邊距將不起作用。 您必須刪除現有約束並添加新約束,從而保留未選擇邊距的約束。
我在iPhone 6 plus模擬器中遇到了這個錯誤。 但是在6 plus設備中,這個bug並沒有發生。 這可能只是一個6加模擬器的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.