zoukankan      html  css  js  c++  java
  • iOS UIApplicatin和它的delegate

    每一个UIApplication代表一个应运程序,而且UIApplication是个单例类;

    ios程序一旦启动,创建的第一个对象就是UIApplication对象;
     
     // 拿到UIApplication对象 *******************
        
    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 }

     
  • 相关阅读:

    使用docker构建fastdfs
    docker测试
    java测试远程调试(转载)
    mac上运行mongodb-community
    mac上zookeeper服务开启,kafka开启
    idea注册配置
    java-集合
    selenium+phantomjs爬取bilibili
    [转载] Python数据类型知识点全解
  • 原文地址:https://www.cnblogs.com/cxbblog/p/3779152.html
Copyright © 2011-2022 走看看