我需要讓我的UISCrollView只接受一個方向的滾動,而不僅僅是一個方向。 ScrollView包含水平方向播放列表中歌曲的專輯封面。它被分頁,所以每個封面都有自己的頁面。當用戶將蓋子向左或向右滑動或滑動時,下一個蓋子滑動到位並播放下一首歌曲。單向UIScrollView
它不應該可以返回到前一首歌或覆蓋。我如何防止這種行爲?
我試過如下:
- (void)scrollViewDidScroll:(UIScrollView *)scrolledView
{
if(scrollView.contentOffset.x < (pageIndex * 320) - 320)
[scrollView setContentOffset:CGPointMake((pageIndex * 320) - 320, 0)];
}
但是,如果我做一個快速滑動的「過去」的方向,封面將大約150像素滑動到「下一個」方向,奇怪。
我也嘗試使用removeFromSuperview刪除以前的封面,但這隻留下黑色空間,拖動仍然可以完成。
最後,我試圖移動蓋:
-(void) reloadCoverScrollView{
for(int i = 1; i < [scrollView.subviews count]; i++){
[scrollView exchangeSubviewAtIndex:i withSubviewAtIndex:i - 1];
}
[scrollView setNeedsDisplay];
}
我怎麼能做到我想要什麼? ScrollView的行爲就好像它總是在第一頁。謝謝。