2011-07-22 28 views
1

我想創建一個UIScrollView與三個常量視圖。中間視圖應該始終顯示。當用戶向右滾動時,視圖1將成爲活動視圖,其他兩個視圖將像移動一個循環一樣移動:視圖3現在位於左側,視圖2位於右側。附圖解釋了我想要的:分頁UIScrollView與三個視圖的無限循環

這可能嗎?

回答

4

3頁只有

有可能是當你想要一個無限循環頁,但不想在 很多內容加載。例如,您可能需要在UIScrollView中顯示大量 內容。裝載大量的 數據並不適合這種情況。

我們可以在那裏使用的邏輯 是保持UIScrollView只有三頁。 數據將加載在每個頁面上,用戶將始終在中間頁面查看數據 。當用戶滾動到新頁面時,每個頁面的 內容將被重置,偏移將返回 用戶返回查看中間頁面。這樣即使你可能有大量的數據滾動瀏覽,它也不會全部加載到 一次。一次只裝載三頁。

...從http://iosdevelopertips.com/user-interface/creating-circular-and-infinite-uiscrollviews.html

0

很有可能採取。您可以繼承UIScrollView並在其- (id)init方法中刪除類似內容。

int numberOfPages = 3; 

// For ease in referencing sizes 
CGFloat portalHeight = self.frame.size.height; 
CGFloat portalWidth = self.frame.size.width; 

self.contentSize = CGSizeMake(self.frame.size.width * numberOf Pages, self.frame.size.height); 

self.contentOffset = CGPointZero; 

// Needed to lock scrolling to pages 
self.pagingEnabled = YES; 

// Setup pages 
for (NSUInteger i = 0; i < numberOfPages; i++) { 
    // Add subviews here 
} 

編輯:我可能沒有完全理解你的問題。這些應該是一個可以持續循環的「旋轉木馬」視圖嗎?

0

使您的滾動視圖連續5次顯示。將第一個視圖視圖3設置爲下一個1,2,3,1.在需要的位置啓動滾動視圖。

-1

scroll3.contentOffset = CGPointMake(scroll3.frame.size.width * 2,0);