Iphone 如何在整个程序中使用UIApplicationLegate?

Iphone 如何在整个程序中使用UIApplicationLegate?,iphone,uiapplicationdelegate,Iphone,Uiapplicationdelegate,我想知道状态栏何时会因为正在通话而改变高度。因此,我在我的UIApplicationLegate中添加了以下内容: -(void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame { NSLog(@"yup, got here"); } 事实上,当我从应用程序中的任何屏幕切换模拟器上的in-call状态栏时,消息会出现在控制台中,但我想做的是在另一个类中

我想知道状态栏何时会因为正在通话而改变高度。因此,我在我的UIApplicationLegate中添加了以下内容:

-(void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame {
    NSLog(@"yup, got here");
}
事实上,当我从应用程序中的任何屏幕切换模拟器上的in-call状态栏时,消息会出现在控制台中,但我想做的是在另一个类中移动一个uitextfield或2,因为双高状态栏会特别弄乱一个屏幕。我在这个屏幕上没有自动调整大小的运气


因此,我的问题是,如何在AppDelegate中通过此方法实现一个屏幕和一个屏幕的代码?它在所有屏幕上都会启动,但我只需要一个屏幕。理想情况下,我希望只在一个类中启动一个方法。

系统还将同时发布一个
UIApplicationWillChangeStatusBarFrameNotification
。让您的视图控制器侦听此通知。根本不需要干扰应用程序代理。

系统还将同时发布一个
UIApplicationWillChangeStatusBarFrameNotification
。让您的视图控制器侦听此通知。根本不需要与应用程序代理发生冲突。

接受Ole的答案,但为了将来的参考,您如何找到您的代理是:

MyAppDelegate *delegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;

使用Ole的答案,但为了将来参考,您如何联系您的代表:

MyAppDelegate *delegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;

谢谢我试试看。因此,我甚至不需要应用程序委托中的方法。伟大的工作完美。再次感谢,谢谢。我试试看。因此,我甚至不需要应用程序委托中的方法。伟大的工作完美。再次感谢。