2017-02-05 79 views
1

,所以我試圖讓我圍繞如何導航欄頭和滾動視圖可以一起工作。的UIScrollView和導航欄內容偏移問題

我遇到的問題是,當我將標籤放在具有導航欄和滾動視圖的視圖控制器上時,似乎必須將標籤置於導航欄下方,以便導航欄遮擋以便獲取正確的抵消金額。

事情是,如果我點擊視圖控制器並將Top Bar從推斷變爲None並設置我的視圖,然後在設置視圖後切換回來,它似乎可以正常工作。它會自動將我在inteface構建器上的內容移到導航欄下方,然後所有約束都可以正常工作。

我在猜測我錯過了這裏關於如何將滾動視圖和導航欄設置爲Surly的概念,您不必將其更改爲無,然後再返回以便更正視圖?

編輯1:似乎它與在那裏我的腳標籤頂部做....如果我把它釘頂部佈局指南(所以它的導航欄和狀態欄成功調整),那麼它不一點都不動,如果我把它放在容器視圖的頂部,那麼它的設置爲64位,我不想硬編碼?

Scroll View with Label

回答

0

這是依賴於Translucent 導航欄屬性,如果導航條是半透明則內容是在下面的例子中可見。這將需要滾動視圖擴展到背後的導航欄

Translucent demo

如果Translucent設置爲false那麼就沒有必要滾動視圖要落後,因此導航欄推滾動視圖在導航欄下。

從紅外線更改爲無引起視圖控制器使用導航欄作爲一個正常元件在屏幕上而不管其半透明性質的。

更新1:實現

我想我得到你想要做的滾動查看,但爲什麼要使用的容器是什麼?爲什麼不直接添加imageViews和標籤直接到scrollView。我也會建議一個更好的方法來解決這個問題,爲什麼不使用tableViewController和一個視圖作爲它的頭部並且沒有任何單元格。

enter image description here enter image description here

現在,您可以設置內容固定的尺寸或改變大小編程

創建您的containerView一個IBOutlet你的代碼

viewDidLoad

​​

containerView.frame = CGRect(x: 0, y: 0, width: self.tableView.frame.width, height: 200) 

containerView.frame = CGRect(x: 0, y: 0, width: self.tableView.frame.width, height: self.tableView.frame.height * 2) 

取決於您希望如何配置視圖。我認爲這是使用界面構建器處理scrollView最簡單的方法。

+0

謝謝,那麼我該如何正確設置界面。目前我有一個視圖控制器,並繼承了導航欄,因爲它繼承了這一點,我將視圖控制器上的滾動視圖放在導航欄下,因爲我希望內容在它下面滾動,以便我可以看到它。然後,我添加一個新的視圖到滾動視圖,作爲容器視圖,然後我可以添加我的圖像和標籤進行滾動,這個視圖也佔用了整個大小。現在,當我在頂部放置一個標籤並將其固定並運行時,它似乎顯示在模擬器上的不正確位置(添加了兩倍的導航欄大小) – Michael

+0

添加了對我的原始更新,它似乎是我的位置釘住標籤?不知道它的頂部錨點應該是什麼 – Michael