簡體   English   中英

在iphone 6 plus上自動布局的意外結果

[英]Unexpected result for autolayout on iphone 6 plus

我在視圖控制器(VC)上添加了一個uiview,嘗試設置它的寬度等於VC視圖的寬度。

我設定和期望的內容: xcode設置和預期結果

我在iPhone 6 plus上得到了什么: 我在ip6 +上得到了什么

我試圖改變領先空間和尾隨空間的常量,沒有任何幫助。 iphone 6+ autolayout有什么特別之處嗎?

此處的視圖設置為“任意寬度x常規高度”

-------已添加2016年12月對於像我這樣困惑的人:UIView中有一個布局邊距屬性,它是一個UIEdgeInsets(8,8,8,8)。 這就像css padding。

當視圖的邊緣靠近超視圖的邊緣並且preservesSuperviewLayoutMargins屬性為true時,可以增加實際的布局邊距以防止內容與superview的邊距重疊。

默認邊距為每邊八個點。

如果視圖是視圖控制器的根視圖,則系統會設置和管理邊距。 頂部和底部邊距設置為零點。 側邊距取決於當前尺寸等級,但可以是16或20點。 您無法更改這些邊距。

添加約束時,嘗試刪除檢查約束邊距。 這里看看:

檢查邊界到邊距並檢查其結果

限制利潤結果

現在,刪除約束並重新添加約束與Constrain到未選中的邊距后,結果如下:

未經檢查限制邊距結果沒有約束到邊距

Sharon的答案非常有效,但您不必刪除現有的約束來解決問題。 您可以編輯現有約束以消除無關邊距:

在應用解決方案前解決方案步驟申請解決方案后

編輯現有約束以刪除無關的邊距將不起作用。 您必須刪除現有約束並添加新約束,從而保留未選擇邊距的約束。

我的“完成”按鈕遇到了同樣的問題。 問題是我的View(完成按鈕)位於基本視圖層次結構中,因此我將視圖帶回根視圖(視圖控制器的視圖)。 並相應地設置約束。

我的案例設置約束Pin-> Uncheck Constraints to Margin - > Bottom,Leading,Trailing(Constraints value = 0)

在此輸入圖像描述

確保視圖層次結構不應該遵循方式。(子視圖可能是剪切視圖,但不能)。

在此輸入圖像描述

我在iPhone 6 plus模擬器中遇到了這個錯誤。 但是在6 plus設備中,這個bug並沒有發生。 這可能只是一個6加模擬器的錯誤。

暫無
暫無

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

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