在iPhone上,我们可以简单地使用(void) viewDidAppear:(BOOL)animated;
在视图成为焦点时执行操作。在某些事件中,我们有一个模态视图,在其上面有另一个模态视图,在iPhone上,关闭最顶层的模态视图将触发viewDidAppear以获得较低的模态视图。
对于iPad来说情况并非如此,因为即使视图位于另一个模态视图后面,视图仍然“可见”。当视图本身成为活动视图时,有没有办法在UIViewController中告诉?
答案 0 :(得分:4)
当模态视图控制器的视图消失时,你能不能使用它? 当模态视图的控制器收到viewWill / DidDissapear时,您知道原始视图再次可见。
编辑: 在模态viewcontroller的viewDidDissapear中添加:
[self.parentViewController viewDidAppear:animated];
这将使viewDidAppear方法在iPhone上被调用。
你根本不需要设置self.parentViewController,因为它是在presentModalViewController方法(你用来显示模态视图控制器的方法)中完成的。
答案 1 :(得分:1)
尝试检查[theUIView isFirstResponder]的值 对于具有键盘焦点等的视图,它应该为True。