2010-10-02 70 views
1

好的,我在這裏有一個複雜的場景。我有一個水平滾動的滾動視圖,它包含一塊一塊地集中在屏幕上的瓷磚,用戶仍然可以通過在兩側都可以看到兩個視圖的邊緣來查看左側還是右側更多。我能夠以編程方式將視圖添加到滾動視圖,並且可以正常進行分頁工作,因此用戶可以在它們之間來回滑動。另一個要求是在第一個視圖滑入時有一個初始動畫,然後由第二個視圖反彈到左側。我通過使用一系列UIView動畫完成了這一任務,並且效果很好。UIScrollView在動畫後更改頁面

這是我的問題:動畫完成後,您不能向左滾動到第一個創建的UIView。我懷疑這是因爲它在動畫視圖的內容區域的左側被動畫化了。我試圖增加scrollview的contentSize,但我仍然得到相同的行爲。一旦初始滾動視圖已經移動到左側,我無法滑動到頁面。

有沒有一種常見的模式可以用來以更好的方式實現這一點?

回答

2

對我來說,就像您將子視圖的框架向左移動以使第一個視圖的框架的x座標爲負,而不是將滾動視圖的contentOffset動畫化到右側。如果是這樣的話,是不是有理由將滾動視圖的contentOffset設置在動畫塊內?如果有什麼原因,如果在動畫完成後你「修正」了內容偏移和子視圖的幀,那麼沒有任何視圖處於負面位置。

但是,我想我現在有更多的問題而不是答案,所以它可能會幫助發佈代碼,顯示如何做你的動畫,使其更容易回答你的問題。

+0

我能夠通過提前設置UIScrollView的內容大小來解決此問題,然後在添加視圖之前滾動到適當的位置。現在,分頁按預期工作。謝謝! – 2010-10-03 10:43:37