我有一個UIScrollView
在水平滾動的UIViewController
視圖。我如何檢測滾動是在左端還是右端還是中間的某個位置?UIScrollView滾動檢測
1
A
回答
1
GameBit是正確的在這裏,但闡述 -
的UIScrollView中有一個成員變量contentOffset,描述從原點滾動視圖滾動了多少像素。正值是向右滾動,負值是向左滾動。
你的UIScrollView在分頁模式?如果是這樣,這將有所幫助:
CGFloat pageWidth = scrollView.frame.size.width;
int page = floor((scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1;
2
您可能需要尋找一個scrollViewDelegate方法,如下所示。
ObjC
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
NSLog(@"Point: %@", NSStringFromCGPoint(scrollView.contentOffset));
}
斯威夫特
override func scrollViewDidScroll(scrollView: UIScrollView) {
println(scrollView.contentOffset)
}
看一看在apple docs.
同時一定要設置您的滾動型委託your_scroll_view.delegate = self;
和您的視圖控制器必須符合<UIScrollViewDelegate>
0
這對我的作品水平的UIScrollView
- 順應
UIScrollViewDelegate
在你的ViewController -
yourScrollView.delegate = self
func scrollViewDidEndDecelerating(scrollView: UIScrollView) { var currentPage = yourScrollView.contentOffset.x/yourScrollView.bounds.size.width; }
,因爲你需要等到不要使用scrollViewDidScroll
滾動結束
相關問題
- 1. UIScrollView檢測滾動
- 2. 檢測UIScrollView是否滾動
- 3. 檢測UIScrollview滾動底部
- 4. 檢測滾動在子類UIScrollView的
- 5. 檢測程序化UIScrollView滾動結束
- 6. 檢測垂直滾動水平滾動UIScrollView與按鈕
- 7. 使用垂直滾動檢測UIScrollView中的水平滑動
- 8. 如何檢測UIScrollView正在滾動還是正在拖動
- 9. 檢測滾動
- 10. UIScrollView不滾動滾動RubyMotion
- 11. 在UIScrollView中檢測滾動事件併發送到UITableView或其他UIScrollView
- 12. UIScrollView裏面的UIScrollView:滾動
- 13. UIScrollView裏面的UIScrollView滾動
- 14. UIScrollview不滾動
- 15. UIScrollView不滾動...
- 16. UIScrollVIew不滾動
- 17. UIScrollView不滾動?
- 18. UIScrollView不滾動
- 19. UiScrollView滾動UiView
- 20. UIScrollView不滾動
- 21. 的UIScrollView滾動
- 22. UIScrollView做滾動
- 23. 的UIScrollView滾動
- 24. 使UIScrollview滾動
- 25. UIScrollView不滾動
- 26. UIScrollView - 在layoutSubviews中檢測滾動與方向變化?
- 27. 檢測UIScrollView中的突然滾動停止
- 28. 在scrollViewWillBeginDragging中檢測UIScrollView的滾動方向
- 29. 的UIScrollView - 檢測第二觸摸而滾動
- 30. 如何從兩個UIScrollView(super-sub)中檢測滾動事件