2017-08-25 59 views
0

我想佈局我的細節屏幕在IB與選項卡欄和導航欄。然而,有三個問題與顯示當模擬器運行:UIScroll與Navbar和Tabbar和容器視圖與動態高度

  1. 有一個在屏幕頂部的縫隙,
  2. 動態標籤內容超過其容器的觀點延伸底部
  3. 的滾動條沒有達到內容的底部。

    Screenshot of simulator displaying the issues described

我的問題是我應該怎麼設置我的約束,使上述問題得到解決?

我有很多約束條件,我不確定我要出錯的地方,或者介紹我到目前爲止採取的步驟的最佳方式。但here is a screenshot of my constraints這裏是我到目前爲止所採取的限制/步驟的總結:

  1. 主視圖中只包含一個子:滾動視圖。滾動視圖被固定到頂部,領先,尾視圖和底部固定到底部佈局指南。頂部,

  2. 滾動視圖只有1個子視圖(「內容視圖」)。內容視圖固定到頂級+64,前導,尾隨,底部到超級視圖,並且它具有與主視圖相同的高度和寬度。

  3. 內容視圖有一個圖像,食譜標題子視圖和陰影背景子視圖。陰影背景子視圖包含具有動態高度標籤的另一個子視圖。我有限制將這些容器的前端和後端固定到超級視圖。而且我有頂部,底部,主導,尾隨約束將這些子視圖固定到超視圖和/或彼此,以便從上到下有一個鏈。

  4. 陰影背景視圖包含動態高度的標籤。除了最後一個沒有底部約束的標籤外,標籤還有頂部,頂部,尾部和底部的針腳限制。

我沒有任何更新佈局的代碼 - 目前爲止所有的代碼都在IB中。

任何幫助非常感謝!

+0

這是很不清楚的問題是什麼 –

+0

我的歉意 - 我已更新我的問題,希望使我的問題/問題更清晰 – user3203611

回答

0

哈利路亞!花了整整一週的時間後,我終於在IB中找到了神奇的公式,用於佈置滾動視圖+導航欄+標籤欄+動態標籤高度。

我原來的問題是由以下錯誤引起的:

  • 調整滾動查看插圖應該已經設置爲false
  • 內容視圖頂部和底部的引腳是不正確的
  • 上缺少一些高度一些子視圖
  • 最後的子視圖沒有正確固定在底部

也許並非所有這些步驟都是必需的,也許這不是最完美的解決方案,但這對我來說是有效的。 Here is a diagram of the solution for those that prefer pictures.

  1. 主視圖 - >屬性檢查器 - >取消勾選Adjust Scroll View Insets複選框。
  2. 添加滾動視圖。這是主視圖的唯一孩子。 Pin Top,Leading,Trailing Space to the Main View。將底部固定到底部佈局指南。
  3. 添加一個子視圖(將其命名爲「內容視圖」)。這是滾動視圖的唯一孩子。 Pin Top,Leading,Trailing Space to Scroll View。 Pin Bottom to Scroll視圖,常量爲-49以考慮標籤欄。還要將其高度和寬度設置爲等於主視圖。
  4. 將子子視圖添加到內容視圖。頂部固定爲Superview,常數爲62,以解釋導航欄。 Leading and Trailing被固定在Superview上。該視圖還需要一個高度 - 如果它是動態內容(例如:高度> - 20),則給它一個固定值或最小值。您可能還需要爲高度限制設置較低的優先級,例如250.
  5. 根據需要繼續添加同級子視圖。將頂部固定到先前的兄弟子視圖。將主導和尾隨追溯到Superview。最後一個兄弟的子視圖應該固定在Superview上。每個子視圖都需要一個高度。爲了避免「滾動視圖具有模糊的可滾動內容高度」警告並使滾動正常工作,需要從頂部子視圖到底部有一個連續的約束鏈(頂部&底部針腳,高度)。
  6. 做一個快樂的舞蹈。

希望這可以幫助別人。

0

使內容視圖的頂部約束的常量爲0而不是64.對於超出容器視圖底部的標籤,您必須發佈更多關於佈局的信息,以便我們提供幫助。

+0

感謝您的時間。我添加了約束的截圖,但由於有太多請讓我知道,如果有更好的方法,我可以提供更多的信息。 – user3203611