一些app第一次打開后有些半透明的功能按鈕的介紹,如下圖
這個功能使用說明是每次app更新或者第一次安裝都需要顯示的。你可以給每個需要顯示的說明界面設置一個BOOL變量控制它是否顯示。在applicationDidFinishLaunching的函數中判斷app是第一次安裝還是更新升級。
NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSString *appBuild = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
if (![NSUserDefaults stringForKey:@"appVersion"] ||
![NSUserDefaults stringForKey:@"appBuild"] ||
![[NSUserDefaults stringForKey:@"appVersion"] isEqualToString:appVersion] ||
![[NSUserDefaults stringForKey:@"appBuild"] isEqualToString:appBuild]) {
[NSUserDefaults setBool:YES forKey:isFirstLaunch];
[NSUserDefaults setString:appVersion forKey:@"appVersion"];
[NSUserDefaults setString:appBuild forKey:@"appBuild"];
}
這段代碼用了NSUserDefaults 的Category方法來取值和保存值。isFirstLaunch 是定義的宏,通過取這個key的值就知道是否是第一次安裝。根據這個key的BOOL值來判斷是否需要顯示功能特效界面。顯示完功能特效界面再將這個key值設為NO并保存在NSUserDefaults ,這樣下次就不會再重復顯示功能說明界面。由于每個功能說明界面都不一樣,為了方便起見,你可以給每個界面都設置一個BOOL變量來控制它們是否要顯示。
最后在對用的控制器界面上根據這個BOOL值來判斷是否添加一個功能介紹的圖片,其實添加上的都是半透明的圖片,注意要給圖片添加一個點擊手勢,點擊后從父控件中刪除這些功能介紹圖片