iOS:UIApplication、UIWindow使用

一、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];
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值