iOS UIApplicatin和它的delegate
每一个UIApplication代表一个应运程序,而且UIApplication是个单例类;
ios程序一旦启动,创建的第一个对象就是UIApplication对象;
// 拿到UIApplication对象 *******************
UIApplication *appliction = [UIApplication sharedApplication];
UIApplication *appliction = [UIApplication sharedApplication];
// 1:设置应用程序图标右上角的红色提醒数字**********************
appliction.applicationIconBadgeNumber = 998;
// 2:设置联网指示器的可见性 *********************************
appliction.networkActivityIndicatorVisible = YES;
/** 3:状态栏样式 状态栏的隐藏、显示 *****************************
3.1:控制器管理:
样式:- (UIStatusBarStyle)preferredStatusBarStyle;
可见性:- (BOOL)prefersStatusBarHidden;
3.2:由application统一管理 一次设置 整个程序都一样的状态栏
好处:一次性管理 可添加动画效果
*:如果想利用UIApplication来管理状态栏,首先得修改Info.plist的设置
*/
// 样式
appliction.statusBarStyle = UIStatusBarStyleLightContent;
// 可见性 带动画
[appliction setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
/* 4:设置openUrl ************************************
打电话
UIApplication *app = [UIApplication sharedApplication];
[app openURL:[NSURL URLWithString:@"tel://10086"]];
发短信
[app openURL:[NSURL URLWithString:@"sms://10086"]];
发邮件
[app openURL:[NSURL URLWithString:@"mailto://12345@qq.com"]];
打开一个网页资源
[app openURL:[NSURL URLWithString:@"http://ios.itcast.cn"]];
打开其他app程序 ....
*/
=================================UIApplication的delegate===============
UIApplication的delegate
在app受到干扰时,会产生一些系统事件,这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统事件
每次新建一个ios程序时,xcode会自动生成一个delegate类作为UIApplication的delegate
里边的主要方法来处理一下事件
1 /* 2 *程序启动完毕时调用的方法 系统自动调用 3 */ 4 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 5 { 6 // Override point for customization after application launch. 7 return YES; 8 } 9 10 /* 11 * 即将失去焦点,不可交互的时候 调用这个方法 12 */ 13 14 - (void)applicationWillResignActive:(UIApplication *)application 15 { 16 17 } 18 19 20 /* 21 * 应运程序进入后台的时候调用 一般在该方法中保存当前的程序的状态 22 */ 23 - (void)applicationDidEnterBackground:(UIApplication *)application 24 { 25 26 } 27 28 29 /* 30 * 应运程序进入前台的时候调用 对保存的数据重新加载 31 */ 32 - (void)applicationWillEnterForeground:(UIApplication *)application 33 { 34 35 } 36 37 38 /* 39 * 重新获取焦点 能够和用户交互 40 */ 41 - (void)applicationDidBecomeActive:(UIApplication *)application 42 { 43 44 } 45 46 47 /* 48 * 应运程序即将被销毁的时候 会调用该方法 如果应运程序处于挂起状态的时候 无法调用该方法 49 */ 50 - (void)applicationWillTerminate:(UIApplication *)application 51 { 52 53 } 54 55 /* 56 * 应运程序内存警告方法 57 * 一般在该方法中释放不需要的内存 58 */ 59 - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application 60 { 61 62 }