代码之家  ›  专栏  ›  技术社区  ›  Erhard Dinhobl

确定是否显示uiview

  •  0
  • Erhard Dinhobl  · 技术社区  · 14 年前

    是否有可能确定是否要显示uiview obj。想象一下:在uiscrollview中有2个UIView。现在,您要将每个手势从第一个视图切换到第二个视图。第一个视图现在不在视口中。现在您将返回到第一个视图。现在我想知道这个视图在视口中,或者被重新显示。第二个视图也必须如此。我没有找到任何回调或类似的东西。

    2 回复  |  直到 14 年前
        1
  •  0
  •   robject    14 年前

    确保UiViewController覆盖ViewWillDisplay:(在调用此方法之前)或ViewDidDisplay:(在调用此方法之后)。

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

        2
  •  0
  •   Toastor    14 年前

    这取决于你所说的“开关”是什么意思。如果一个视图刚刚从scrollview的可见区域中滚动出来,但仍然作为子视图附着在其上,则可能需要检查视图的边界是否与scrollview可见区域的边界重叠。

    你可以通过使用 UIScrollView Delegate scrollViewDidScroll: 方法在用户滚动时实现重叠检查。

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