代码之家  ›  专栏  ›  技术社区  ›  mjdth

如何判断uiview何时获得焦点

  •  4
  • mjdth  · 技术社区  · 15 年前

    在iPhone上,我们可以简单地使用 (void) viewDidAppear:(BOOL)animated; 当视图成为焦点时执行操作。在某些情况下,我们有一个模态视图,在它上面有另一个模态视图,在iPhone上,关闭最上面的模态视图将触发较低模态视图的viewdid显示。

    对于iPad来说,情况并非如此,因为尽管它位于另一个模态视图的后面,但视图仍然“可见”。当视图本身成为活动视图时,是否有任何方法可以从uiviewController中分辨出来?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Jonathan.    15 年前

    你不能只在模态视图控制器的视图消失时使用吗? 当模式视图的控制器接收到视图will/diddisapear时,您知道原始视图再次可见。

    编辑: 在模态视图控制器的viewdiddissapear中添加以下内容:

    [self.parentViewController viewDidAppear:animated];
    

    这将使viewdidAppear方法像在iPhone上一样被调用。

    您根本不需要设置Self.ParentViewController,因为它是在PresentModalView Controller方法(用于显示模式视图控制器的方法)中为您完成的。

        2
  •  1
  •   John Carter    15 年前

    尝试检查[uiview is firstresponder]的值 对于具有键盘焦点的视图等,应该是正确的。