ios开发-AppDelegate
来源:互联网 发布:yandex优化 编辑:程序博客网 时间:2024/04/30 11:48
AppDelegate为何物?
AppDelegate为整个应用的一个代理,提供程序启动、退出等类似监控的接口。
AppDelegate.m
接口所在的文件,常见接口有:
application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
//应用程序启动后,要执行的委托调用
applicationWillResignActive:(UIApplication *)application
//应用程序将要由活动状态切换到非活动状态时执行的委托调用,如按下home 按钮,返回主屏幕,或全屏之间切换应用程序等。
applicationDidEnterBackground:(UIApplication *)application
//在应用程序已进入后台程序时,要执行的委托调用。所以要设置后台继续运行,则在这个函数里面设置即可。
applicationWillEnterForeground:(UIApplication *)application
//在应用程序将要进入前台时(被激活),要执行的委托调用,与applicationWillResignActive 方法相对应。
applicationDidBecomeActive:(UIApplication *)application
//在应用程序已被激活后,要执行的委托调用,刚好与 applicationDidEnterBackground 方法相对应。
applicationWillTerminate:(UIApplication *)application
//在应用程序要完全退出的时候,要执行的委托调用。
全局变量
AppDelegate可以在整个应用程序中调用,在其他页面中可以使用代码段获取AppDelegate的全局变量:
AppDelegate *appDelegate=[[UIApplication sharedApplication] delegate];
因此可以在AppDelegate.h中定义需要全局使用的变量。系统启动代理(第一个页面的加载)
application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
一般在该代理接口中需要进行应用系统window(程序显示窗口)配置,完成页面弹出效果。(AppDelegate默认拥有UIWindow *window实例变量)
可以使用以下代码段完成:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];//显示窗口配置
LoginViewController *login = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];/
/初始化应用系统需要显示的第一个页面(一般为ViewController)
self.window.rootViewController = login;//配置window窗口的rootViewController实例//判定系统版本,选择页面加载方式
if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
{
[self.window addSubview:login.view];
}
else
{
[self.window setRootViewController:login];
}
[self.window makeKeyAndVisible];
return YES;
补充:应用创建之后可以在Supporting Files分组中看到main.m类文件,是整个应用最开始的入口。
执行的代码段为:return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));最后一个参数即为应用中的AppDelegate类的实例,执行这段程序即进入AppDelegate类中的application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法接口。
- ios开发-AppDelegate
- IOS开发概述-06.AppDelegate对象
- iOS开发 ----- APPDelegate回调
- ios开发之AppDelegate
- iOS 开发 AppDelegate.m 解说
- IOS开发之Appdelegate委托
- ios开发之AppDelegate -- @ShinePug
- iOS开发之AppDelegate详解
- 【ios开发】项目中AppDelegate详解
- iOS 开发AppDelegate中的方法和作用
- iOS开发-appDelegate的生命周期总结
- iOS开发--AppDelegate文件下各方法的用法
- IOS开发—— 获取AppDelegate的属性或字段
- ios 开发中 Appdelegate中得生命周期的方法
- iOS开发UI篇 -- 04011AppDelegate中方法详解2
- iOS开发UI篇 -- 04011AppDelegate中方法详解1
- iOS开发 -- "AppDelegate.m"文件 程序启动流程
- IOS开发入门----AppDelegate(2017/8/7)
- new delete
- 岁月悠长,秋深情暖
- HDU_2544 标准题解(没有之一)Floyd基础教学
- ftp常用命令介绍
- PAT(乙) 1006. 换个格式输出整数 (15)
- ios开发-AppDelegate
- 我们终会忘记那个ta
- Android Gradle 多版本多APK打包,修改生成APK名称
- Tomcat和IIS整合过程—中—JDK和Tomcat装
- 多线程 之 Synchronized 锁的实现原理
- 欢迎使用CSDN-markdown编辑器
- 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
- Vickate_iOS_文件预览QLPreviewController(pdf,excel,word等)
- Android调用微信原生分享接口,进入微信分享界面返回不了!