Ios 当标签以SWIFT显示在屏幕上时进行检测

Ios 当标签以SWIFT显示在屏幕上时进行检测,ios,swift,uiview,Ios,Swift,Uiview,我有一个包含多个元素的滚动视图(文本视图、标签、图像视图…),当我滚动时标签出现在屏幕上时,我需要显示uiview 如何操作?确保您的视图控制器是滚动视图代理。执行scrollViewDidScroll方法,并检查滚动视图的帧(由contentOffset偏移)是否与标签的帧重叠 func scrollViewDidScroll(scrollView: UIScrollView) { let offset = self.scrollView.contentOffset let o

我有一个包含多个元素的滚动视图(文本视图、标签、图像视图…),当我滚动时标签出现在屏幕上时,我需要显示uiview


如何操作?

确保您的视图控制器是滚动视图代理。执行
scrollViewDidScroll
方法,并检查滚动视图的帧(由contentOffset偏移)是否与标签的帧重叠

func scrollViewDidScroll(scrollView: UIScrollView) {
    let offset = self.scrollView.contentOffset
    let onScreen = CGRectOffset(self.scrollView.frame, offset.x, offset.y)
    if CGRectIntersectsRect(onScreen, self.label.frame) {
        NSLog("Overlap")
    }
}
如果要检测标签何时完全显示在屏幕上,请使用
CGRectContainsRect
而不是
CGRectIntersectsRect