天天看點

iOS 如何設定啟動引導圖

QMPushGuideView.h

#import <UIKit/UIKit.h>

@interface QMPushGuideView : UIView
//初始化引導圖
+ (instancetype)guideView;
//展示引導圖
+ (void)show;
@end
           

QMPushGuideView.m

#import "QMPushGuideView.h"

@implementation QMPushGuideView

//初始化引導圖
+ (instancetype)guideView
{
    return [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self) owner:nil options:nil] lastObject];
}

//移除引導圖
- (IBAction)close {
    //從父視圖上移除
    [self removeFromSuperview];
}

//顯示引導圖
+ (void)show
{

    NSString *key = @"CFBundleShortVersionString";
    //獲得目前軟體的版本号 infoDictionary -- 裡面還有info.plist的資訊
    NSString *currentVersion = [[NSBundle mainBundle] infoDictionary][key];

    //獲得沙盒中儲存的版本号
    NSString *sandBoxVersion = [[NSUserDefaults standardUserDefaults] stringForKey:key];

    UIWindow *mainWindow = [UIApplication sharedApplication].keyWindow;

    if (![currentVersion isEqualToString:sandBoxVersion]) {
        //建立推送引導視圖
        QMPushGuideView *guidView = [QMPushGuideView guideView];
        guidView.frame = mainWindow.bounds;
        [mainWindow addSubview:guidView];

        //儲存版本号
        [[NSUserDefaults standardUserDefaults] setObject:currentVersion forKey:key];
        //馬上儲存
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

}
           
iOS