我有一个NSCollectionView并且必须禁用它的scrollview滚动属性,以便它不会在某些特定条件下重新加载并在用户尝试滚动时向用户显示警报。
滚动视图时调用的任何委托方法都可以限制滚动和重新加载集合视图数据。
提前致谢。
子类NSCollectionView并覆盖scrollWheel
import Cocoa
class YourCollectionView: NSCollectionView {
var disableScroll = true
override func scrollWheel(with event: NSEvent) {
if disableScroll {
return
} else {
super.scrollWheel(with: event)
}
}
}
您可以在ScrollViewDelegate的scrollViewDidScroll
方法的帮助下完成。您可以使用此方法,因为collectionview是scrollview的子类。
例如 :
func scrollViewDidScroll(_ scrollView: UIScrollView) {
print("collectionView Content : \(collectionView.contentOffset.y)")
if collectionView.contentOffset.y >= 100
{
collectionView.isScrollEnabled = false
}
else
{
collectionView.isScrollEnabled = true
}
}
我希望它为你工作。