2014-09-29 69 views
0

我試圖使用{320,116} UIScrollView的自動佈局,內容視圖爲{960,116}。我做了這樣的事情,當用戶向上或向下滾動滾動視圖時,滾動視圖展開或摺疊,並且水平滾動被分頁(總共三頁)。iOS Autolayout動畫重置內容UIScrollview的缺失

問題是當視圖展開或摺疊時 - 通過將頂部空間更改爲頂部佈局指南,將內容偏移值重置爲CGPointZero,因此無論何時視圖位於第2頁或第3頁,當用戶的意願擴大或崩潰時,將其重置爲1。

UIScrollView到上海華領先的空間等於0

+0

如果'contentView'具有相同的滾動視圖高度,如何上下滾動? – DeFrenZ 2014-09-29 23:26:52

+0

我添加了另一個手勢識別器,它使用'translationInView'響應y軸上的觸摸移動。觸發方法縮短了約束常量,從而擴大了滾動視圖的高度。向下滾動恰恰相反。唯一的問題是,當頂部空間約束的常量縮短時,'UIScrollView'的contentOffset被重置爲CGPointZero,這意味着,如果contentOffset是{320,0},則返回頁面1,因爲它膨脹/崩潰。 – BridgeTheGap 2014-09-30 00:22:47

+0

那麼爲什麼不在內部使用3個垂直未分頁的'UIScrollView'製作一個單獨的分頁水平「UIScrollView」?如果你的目的是製作3個獨立的「頁面」,似乎更合理的做法。 – DeFrenZ 2014-09-30 09:04:32

回答

0

兩件事情我發現。

1)在iOS7,如果不專門設置的內容視圖(的UIScrollView子視圖的空間和尺寸的限制),並修改約束不變,contentOffset設置爲CGPointZero

2)這個問題在iOS8中不會發生,這意味着即使您沒有爲內容視圖設置約束,contentOffset也不會重置爲CGPointZero