iOS - 当屏幕上出现UIView时,它会调用哪种方法?

时间:2013-10-13 12:19:31

标签: iphone ios uiview viewdidappear

当屏幕上出现UIView时,它会调用哪种方法? 例如,如果有一个UIScrollView,我用一百个视图填充它,一个在另一个下面, 当UIViews滚动显示在屏幕上时,UIViews会调用什么方法?

是 - (void)didMoveToWindow?别的什么?

3 个答案:

答案 0 :(得分:2)

如果您正在尝试查看视图何时滚动到scrollView边界,那么使用表视图可能更容易且可能更高效...表视图有一些方法可以让您知道何时出现一个单元格可以随时查询可见细胞。

答案 1 :(得分:1)

特别是对于滚动视图,可以通知代理(通常是控制器)滚动视图已滚动。当你得到这个回调时,你可以编写一些代码来迭代子视图并检查滚动视图的可见框架中的哪些(使用CGRectIntersectsRectcontentOffsetbounds)。

答案 2 :(得分:0)

无,但是如果你实现UIScrollView委托,UIScrollView会调用一个方法来提供滚动位置和更多(许多方法,很可能是scrollViewDidScroll)。

https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html

要查看哪个视图,您必须通过查看CGRectIntersectsRect(scrollView.bounds,subview.frame)是否返回true来计算哪个视图可见。