确定是否显示uiview

时间:2010-09-03 09:19:06

标签: iphone cocoa-touch ipad uiview uikit

是否有可能确定是否要显示uiview obj。想象一下:你在uiscrollview中有2个uiviews。现在你要将每个手势从第一个视图切换到第二个视图。现在第一个视图不在视口中。现在你要回到第一个视图。现在我想通知此视图在视口中,或者重新显示。同样必须是第二种观点。我没有找到任何回调或类似的东西。

2 个答案:

答案 0 :(得分:0)

确保您的UiViewController覆盖viewWillAppear :(在调用此方法之前)或viewDidAppear :(在调用此方法之后)。

请参阅:http://developer.apple.com/iphone/library/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/viewWillAppear

答案 1 :(得分:0)

这取决于你所说的“开关”。如果一个视图刚刚滚动出滚动视图的可见区域,但仍然作为子视图附加到其中,那么您可能需要检查视图的边界是否与滚动视图可见区域的边界重叠。

您可以使用UIScrollView DelegatescrollViewDidScroll:方法在用户滚动时实现重叠检查。

但是,如果您的视图实际上已从视图堆栈中删除,那么您可能希望子类化UIView并实现willMoveToSuperview:以检查视图是否已再次添加到滚动视图中。