【发布时间】:2014-12-27 18:09:20
【问题描述】:
我有一个包含多个元素(文本视图、标签、图像视图...)的滚动视图,当我滚动时我的标签出现在屏幕上时,我需要显示一个 uiview。
我该怎么办?
【问题讨论】:
我有一个包含多个元素(文本视图、标签、图像视图...)的滚动视图,当我滚动时我的标签出现在屏幕上时,我需要显示一个 uiview。
我该怎么办?
【问题讨论】:
确保您的视图控制器是滚动视图委托。实现scrollViewDidScroll方法,检查scroll view的frame,偏移了contentOffset,是否和label的frame重叠。
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。
【讨论】: