2012-05-15 101 views
0

我有一個滾動視圖充滿從json文件加載的對象。每3秒鐘重新載入數據,並且沒有真正改變(除非用戶添加了新數據)。重新加載非常快,但滾動視圖滾動回頂部。我希望它保持在原來的地步。我怎樣才能做到這一點?滾動視圖滾動總是回到頂部

我使用此代碼刪除家居重裝:

[scrollView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; 

然後我重新填充滾動視圖。重新加載時,滾動視圖的框架會返回初始值,只有添加這些對象纔會使其展開。

回答

0

這是從JSON文件中接收到的每個對象,您正在設置UIScrollView的contentSize的假設下:

當這第一個對象被再次從JSON文件加載,它集contentSize非常低,因此滾動到頂部。

儘管如此,在添加所有對象之前,您確實不想從UIScrollView中刪除所有內容。您應該緩存那裏的對象,並且只有在發生更改時才執行該操作。即使有變化,我也會考慮添加更改,而不是刪除和重新添加對象。

+0

如何chache對象,所以檢查Json文件中是否有變化? – Alessandro

+0

這裏真的沒有「全部捕捉」的答案,但是我要做的是從每個JSON對象中創建自定義Objective-C對象,並覆蓋isEqual方法並檢查您需要的所有內容。我知道這很模糊,但就像我說的那樣,真的不是一個「全能」的答案。 – jordanperry