我有一个NSCollectionView,必须禁用其scrollview滚动属性,以便在某些特定条件下不会重新加载它,并在用户尝试滚动时向用户显示警报。
在滚动视图时调用的任何委托方法都可以帮助限制集合视图数据的滚动和重新加载。
谢谢。
答案 0 :(得分:0)
子类NSCollectionView并覆盖scrollWheel
import Cocoa
class YourCollectionView: NSCollectionView {
var disableScroll = true
override func scrollWheel(with event: NSEvent) {
if disableScroll {
return
} else {
super.scrollWheel(with: event)
}
}
}
答案 1 :(得分:-2)
可以在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
}
}
希望它对您有用。