我想在段控件超出屏幕范围时立即获得回调或通知。我的收藏视图顶部有一个“自定义”标题视图。
过去,当我的Header视图中只有1个UIElement时,我使用了方法
func collectionView(UICollectionView, willDisplaySupplementaryView: UICollectionReusableView, forElementKind: String, at: IndexPath)
和
func collectionView(UICollectionView, didEndDisplayingSupplementaryView: UICollectionReusableView, forElementOfKind: String, at: IndexPath)
实现此回调,以便在发生这种情况时可以调用我的特定函数。
但是我现在有了一些更复杂的标头,还有更多的UIElements。当细分控件超出屏幕截图的屏幕范围时,有什么方法可以获取通知或回调吗?{
答案 0 :(得分:1)
您是否通过实施scrollViewDidScroll
方法,如下所示?
var isSegmentedHidden = false
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y < 50.0 && isSegmentedHidden{ //Here 50.0 is the height of your segmented control plus vertical padding if any.
isSegmentedHidden = false
//Call your function here, once segmented control is visible
}
if scrollView.contentOffset.y >= 50.0 && isSegmentedHidden == false{ //Here 50.0 is the height of your segmented control plus vertical padding if any.
isSegmentedHidden = true
//Call your function here, once segmented control is invisible
}
}