当 UIView 出现在屏幕上时,它会调用什么方法?例如,如果一个有一个 UIScrollView 并且我用一百个视图填充它,一个在另一个之下,当 UIViews 滚动以使它们出现在屏幕上时,它们会调用什么方法?
是 -(void)didMoveToWindow 吗?别的东西?
当 UIView 出现在屏幕上时,它会调用什么方法?例如,如果一个有一个 UIScrollView 并且我用一百个视图填充它,一个在另一个之下,当 UIViews 滚动以使它们出现在屏幕上时,它们会调用什么方法?
是 -(void)didMoveToWindow 吗?别的东西?
如果您试图找出视图何时滚动到 scrollView 边界,使用表格视图可能更容易并且可能更高效......表格视图具有让您知道单元格何时出现并且您可以查询可见的方法细胞随时。
特别是对于滚动视图,委托(通常是控制器)可以收到滚动视图已滚动的通知。当您收到此回调时,您可以编写一些代码来遍历子视图并检查哪些在滚动视图的可见框架中(使用CGRectIntersectsRect
,contentOffset
和bounds
)。
没有,但是如果您实现 UIScrollView 委托,则 UIScrollView 确实会调用一个为您提供滚动位置等的方法(许多方法,很可能是 scrollViewDidScroll)。
要查看哪个视图,您必须通过查看 CGRectIntersectsRect(scrollView.bounds, subview.frame) 是否返回 true 来计算哪个视图可见。