我需要从应用程序委托中检测到主要的UIView(用户实际正在观看的视图)已经发生了变化。
-Fred
答案 0 :(得分:0)
如果您希望它是通用的,您可以尝试使用通知。
在任何UIView中,您想要发出更改“消失”的信号,您可以在dealloc方法中添加通知
-(void)dealloc{
[[NSNotificationCenter defaultCenter] postNotificationName:@"ViewChanged" object:nil];
}
并且在响应更改的代码中,您可以侦听“ViewChanged”通知。您可以使用以下代码执行此操作:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(viewChanged) name:@"ViewChanged" object:nil];
-(void)viewChanged{
// do what ever you want after the view has changed
}
答案 1 :(得分:0)
你应该为UIViewController类调整你的选择器。就像你可以将viewWillAppear混合到你创建的customViewWillAppear。因此,当应用程序将生成对viewWillAppear的调用时,将调用您的混合方法(customViewWillAppear)。因此,您可以识别出用户已更改屏幕。
不要忘记调用实际方法来执行用viewWillAppear方法编写的东西。
答案 2 :(得分:-1)
视图可以更改的唯一方法是您的应用在某种程度上更改它。