一、UIApplication一些功能的说明:
1.获取Application对象:
//获取UIApplication,单例模式,APP只会创建一个
UIApplication *application = [UIApplication sharedApplication];
2.调用三方APP实现一些功能:
/*
调用三方APP实现如下功能
*/
//打电话
application openURL:[NSURL URLWithString:@"tel://10086"];
//发短信
application openURL:[NSURL URLWithString:@"sms://10086"];
//发邮件
application openURL:[NSURL URLWithString:@"mailto://abc@126.com"];
//打开网页
application openURL:[NSURL URLWithString:@"https://www.baidu.com"];
3.设置APP桌面图标与状态栏联网加载图标:
//设置APP桌面图标
application.applicationIconBadgeNumber = 0;
//在状态栏显示联网加载图标
application.networkActivityIndicatorVisible = YES;
4.使用Application控制状态栏:
(1)在Info.plist最后一行增加一个:
Key: View controller-based status bar appearance
value: NO
(2)设置状态栏属性:
//隐藏状态栏
[application setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];
application.statusBarHidden = YES;
//设置状态栏样式
application.statusBarStyle = UIStatusBarStyleLightContent;
[application setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
二、UIApplicationDelegate的一些重要方法说明(默认在AppDelegate.m实现):
/*
appc接受到内存警告时触发
*/
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application{
}
/*
app启动完成时触发
*/
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
/*
app进入后台时触发
*/
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
/*
app进入前台时触发
*/
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
/*
获取焦点时触发
*/
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
/*
失去焦点时触发
*/
- (void)applicationWillResignActive:(UIApplication *)application {
}
/*
app即将退出时触发
*/
- (void)applicationWillTerminate:(UIApplication *)application {
}
三、UIWindow的使用:
/*
显示window
*/
- (void)showWindow{
//根据屏幕宽高创建window
UIWindow *win = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//设置window背景颜色
win.backgroundColor = [UIColor blueColor];
//设置win的根控制器为自定义ViewController
ViewController *custemContr = nil;
win.rootViewController = custemContr;
//显示window
[win makeKeyAndVisible];
}
四、UIViewController创建(在AppDelegate.m的didFinishLaunchingWithOptions方法中创建):
1.初始化对象方式创建:
/*
1.初始化对象方式创建
*/
- (void) createViewController1{
//创建window, self.window是系统成员变量
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//创建自定义ViewController
ViewController *control = [[ViewController alloc] init];
//设置window的根控制器为自定义控制器
self.window.rootViewController = control;
//显示window
[self.window makeKeyAndVisible];
}
2.通过storyboard方式创建:
/*
2.通过storyboard方式创建(系统默认会调用以下代码加载Main.storyboard)
*/
- (void) createViewController2{
//创建window,Main可以是自已创建的UIStoryboard
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//创建自定义ViewController
UIViewController *control = [storyboard instantiateViewControllerWithIdentifier:@"storyboard的id值"];
//设置window的根控制器为自定义控制器
self.window.rootViewController = control;
//显示window
[self.window makeKeyAndVisible];
}
3.通过xib方式创建:
/*
3.通过xib方式创建
*/
- (void) createViewController3{
//创建自定义ViewController
ViewController *control = [[ViewController alloc] initWithNibName:@"xib名称" bundle:nil];
//设置window的根控制器为自定义控制器
self.window.rootViewController = control;
//显示window
[self.window makeKeyAndVisible];
}