2014-09-30 75 views
5

我確實有適用於iOS的應用程序,同時將所有用戶界面自動佈局爲了支持新的iPhone 6和iPhone 6以及我遇到了奇怪的問題,我的滾動視圖在iPhone 4s,5s,5s和6 ...在iPhone 6中的工作正常,加上它們不僅僅是垂直滾動,而且也是水平滾動...就像滾動視圖的內容大小比兩倍像素寬視圖本身(所以它水平移動幾個像素,然後它反彈)。 我不明白爲什麼會這樣......iOS 8 AutoLayout scrollview在iPhone 6上水平滾動加

回答

11

我終於找到了正確的方法來讓它工作...我就是這麼做的:

景觀層次:
- UIView的(主視圖) - 的UIScrollView(我灣主視圖的相同的確切大小的) - 包含要被顯示在滾動視圖的所有東西)

約束的UIView(容器視圖:

Containar檢視:
- 寬度等於主視圖 的一個 - 0引入部分,拖尾,與上海華頂部和底部邊緣(其爲滾動視圖)

的UIScrollView:
- 寬度等於所述一個主視圖
- 水平在X軸上的中心視圖(中心X)
- 0頂部底部邊距與超級視圖

+1

這並不適用於我。我也不理解爲什麼上面的工作,因爲內容視圖控制UIScrollView,但你設置UIScrollView的寬度 – kgaidis 2014-10-20 20:41:44

+2

我的問題我想是由-16約束引起和尾隨空間的滾動視圖到它的超級視圖添加如果我說我希望滾動視圖的窗口大小相同(不是相同的寬度......如果我拖動滾動視圖的邊框來加載窗口的那些寬度,它會被添加)。將約束放在滾動視圖的寬度上並將它居中爲X,這給了我一致的一系列約束條件,用於我希望滾動視圖看起來像 – Freedom 2014-10-21 11:08:40

+0

@kgaidis - iOS做出時髦的東西來使scrollview與自動佈局一起工作:[Apple技術說明UIScrollView和Autolayout](https://developer.apple.com/library/content/technotes/tn2154/_index.html)另一種方法是在佈局完成後自己直接在代碼中設置UIScrollView.contentSize。從技術說明來看,內部內容的限制似乎並沒有達到你認爲他們所做的 - 它們並不決定捲動區域的大小。 – ToolmakerSteve 2017-03-29 01:19:41