我有一個scrollview
與寬度爲88的圖像視圖88。如何在iPhone中製作無限滾動視圖?
我想scrollview
滾動到每個圖像視圖(不分頁)
和
我想讓在iPhone無限滾動視圖,這意味着當它滾動到最後項目它會顯示第一個項目旁邊..
我一直在嘗試偏移,但它停止時,它通過偏移量和我已經使用蘋果街頭卷軸,它不允許我停止中心的每個元素(就像Picker視圖一樣)。
我有一個scrollview
與寬度爲88的圖像視圖88。如何在iPhone中製作無限滾動視圖?
我想scrollview
滾動到每個圖像視圖(不分頁)
和
我想讓在iPhone無限滾動視圖,這意味着當它滾動到最後項目它會顯示第一個項目旁邊..
我一直在嘗試偏移,但它停止時,它通過偏移量和我已經使用蘋果街頭卷軸,它不允許我停止中心的每個元素(就像Picker視圖一樣)。
首先,我推薦使用UITableView,這樣可以保持較低的內存使用量。我曾在一個項目中成功使用的一種方法如下:
複製您的單元格的內容,我的意思是,如果你有這樣5個項目:
| 1 | 2 | 3 | 4 | 5 |
您應該添加相同(可重複使用的引擎表視圖,這不是一個大問題),在表的末尾,以這樣的:
| 1 | 2 | 3 | 4 | 5 | 1 | 2 | 3 | 4 | 5 |
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == _yourScrollView) {
CGFloat currentOffsetX = scrollView.contentOffset.x;
CGFloat currentOffSetY = scrollView.contentOffset.y;
CGFloat contentHeight = scrollView.contentSize.height;
if (currentOffSetY < (contentHeight/6.0f)) {
scrollView.contentOffset = CGPointMake(currentOffsetX,(currentOffSetY + (contentHeight/2)));
}
if (currentOffSetY > ((contentHeight * 4)/ 6.0f)) {
scrollView.contentOffset = CGPointMake(currentOffsetX,(currentOffSetY - (contentHeight/2)));
}
}
}
上面的代碼將滾動位置移動到頂部,如果您幾乎達到滾動的最終位置;或者,如果你幾乎在上面,將你移到底部...
偉大的解決方案。然而,有什麼辦法可以在偏移量改變時省略這個'眨眼'嗎? – Vive 2013-11-21 14:03:49
這使我很長時間都面臨嚴重的問題,所以我真的感到你的痛苦。我發現這個控制應該可以解決你的問題:http://www.cocoacontrols.com/platforms/ios/controls/infinitescrollview
我也考慮插入轉換和禁用滾動,所以它變得像幻燈片,但任何方式應該工作。
下面是我用來做的解決方案的簡短說明。假設你有從0到9的計數器,那麼當你進行轉換9 - > 0時,你實際上在9(在scrollView中)之後欺騙了另一個0(稱爲0'),動畫轉換爲0',比讓非動畫瞬間過渡到位於scrollView頂部的0。
你可以看看這兩個選項之一:
高級滾動查看技術是解決這個問題的關鍵。 – cbowns 2013-10-29 20:15:11
您可以使用iCarousel這個庫。 https://github.com/nicklockwood/iCarousel
對於其他尋找解決方案的人,你也可以試試這個庫無限滾動選擇器在https://github.com/Seitk/InfiniteScrollPicker/它基本上是拖放。我在一個項目中使用它,它工作得很好。
實現一個簡單的無限滾動在這個小項目:
https://github.com/mcmatan/Infinity-tabBar-scroll-view/blob/master/README.md
莫非要與或沒有用戶交互? – 2012-08-08 10:38:37