- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在我的 tvOS 应用程序中,我正在尝试监听 UICollectionView 的滚动变化。经过研究,我发现 Collection View native 接收一些手势识别器,其中一个带有选择器 handlePan
的 UIPanGestureRecognizer:
<UIScrollViewPanGestureRecognizer: 0x101a4c1a0; state = Possible; delaysTouchesEnded = NO; view = <UICollectionView 0x1020c5d00>; target= <(action=handlePan:, target=<UICollectionView 0x1020c5d00>)>>
在日志中,或者在代码中:
myCollectionView.panGestureRecognizer
我想知道是否有办法将我的 Controller 添加为手势识别器的目标,或者覆盖 handlePan
方法。我尝试实现 UIGestureRecognizerDelegate
但它没有让我访问 handlePan
方法。也许我应该在 Collection View 上添加我自己的自定义 UIPanGestureRecognizer
?
最佳答案
UICollectionView 是 UIScrollView 的子类,因此您可以通过添加 ScrollView 委托(delegate)来检测 collectionview 上的滚动变化。
objective-C
// called on finger up if the user dragged. decelerate is true if it will continue moving afterwards
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
}
// called when scroll view grinds to a halt
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
}
swift
func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
}
关于ios - 如何覆盖 UICollectionView 中的 handlePan 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42828862/
我尝试做一些我认为现在很简单的事情。但它会产生一个错误,从而引发几个问题。 首先,我尝试在 UICollectionView 中执行拖动操作。但我仍然希望该 View 可以滚动。我还没有找到任何(还?
可以在 UIScrollView 子类中重写 -handlePan: 吗?即我的应用程序不会被应用程序商店拒绝? 感谢您分享您的观点。 编辑:在我的子类的另一个方法中调用 -handlePan: 怎么
在我的 tvOS 应用程序中,我正在尝试监听 UICollectionView 的滚动变化。经过研究,我发现 Collection View native 接收一些手势识别器,其中一个带有选择器 ha
我是一名优秀的程序员,十分优秀!