我有一个包含多个元素的滚动视图(textview,label,image view ...),当我滚动时,当我的标签出现在屏幕上时,我需要显示一个uiview。
我该怎么办?
答案 0 :(得分:1)
确保您的视图控制器是滚动视图委托。实现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
。