zoukankan      html  css  js  c++  java
  • 在进入新版本 的时候,进行推送引导

    具体代码如下
    首先新建XMGPushGuideView类
     
    XMGPushGuideView.h 文件
     
    #import <UIKit/UIKit.h>

    @interface XMGPushGuideView : UIView
    /** 加载xib */
    +(instancetype)guideView;
    /** 判断当前的版本号,确定是加载推荐引导页 */
    +(void)show;
    @end
     
     
     
    XMGPushGuideView.m 文件
     
    #import "XMGPushGuideView.h"

    @implementation XMGPushGuideView

    +(instancetype)guideView{

        return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] lastObject];
    }
    - (IBAction)close {
        [self removeFromSuperview];
    }

    +(void)show{
       
        NSString *key=@"CFBundleShortVersionString";
       
        // 获得当前软件的版本号
        NSString *currentVersion = [NSBundle mainBundle].infoDictionary[key];
       
        //    获得沙盒中的存储的版本号
        NSString *sanboxVersion=[[NSUserDefaults standardUserDefaults] stringForKey:key];
       
        if (![currentVersion isEqualToString:sanboxVersion]) {
           
    //        获得当前的window
            UIWindow *window=[UIApplication sharedApplication].keyWindow;

           
            XMGPushGuideView *guideView=[XMGPushGuideView guideView];
            guideView.frame=window.bounds;
            [window addSubview:guideView];
            //        存储版本号
            [[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:key];
            //       马上把版本号存储到沙盒中
            [[NSUserDefaults standardUserDefaults] synchronize];
        }
       
    }
    @end
     
     
    而在AppDelegate.m文件
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Override point for customization after application launch.
       
    //    创建窗口
        self.window=[[UIWindow alloc]init];
        self.window.frame=[UIScreen mainScreen].bounds;
       
    //    设置窗口的跟控制器
         self.window.rootViewController=[[XMGTabBarController alloc]init];

       
    //    显示窗口
        [self.window makeKeyAndVisible];
       


    //    显示推送引导
        [XMGPushGuideView show];
       
       
        return YES;
    }
  • 相关阅读:
    了解委托(Delegate)
    C#中事件的一些总结
    Devexpress Xtrareport 并排报表
    Xtrareport 交叉报表
    Xtrareport 多栏报表
    Xtrareport 报表的一些属性及控件
    UI前端开发都是做什么的以及html、css、php、js等究竟是神马关系
    url,href,src之间的区别
    join()的用法
    爬取百度百科
  • 原文地址:https://www.cnblogs.com/MyBlogZH/p/5529941.html
Copyright © 2011-2022 走看看