應(yīng)用場景:
我們在應(yīng)用啟動后,往往會在啟動圖加載完成之后,去獲取廣告圖進(jìn)行展示霎肯。但加載廣告圖往往需要耗費(fèi)未知的時間,這個時候我們就需要獲取啟動圖榛斯,來進(jìn)行一個安全展示观游,并且需要動態(tài)展示,因為LaunchImage里面的圖片是根據(jù)設(shè)備尺寸來動態(tài)展示的驮俗。
方法一:
方法:工程里存儲不同尺寸啟動圖懂缕,然后判斷機(jī)器設(shè)備,區(qū)別選取啟動圖
缺點:每次都要導(dǎo)入不同尺寸啟動圖王凑,更換起來比較麻煩
方法二(推薦):
根據(jù)Assets.xcassets里的plist文件來動態(tài)獲取搪柑,具體方法如下:
//啟動圖
+ (UIImage *)getLaunchImage{
CGSize viewSize = [UIScreen mainScreen].bounds.size;
NSString *viewOr = @"Portrait";//垂直
NSString *launchImage = nil;
NSArray *launchImages = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
for (NSDictionary *dict in launchImages) {
CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);
if (CGSizeEqualToSize(viewSize, imageSize) && [viewOr isEqualToString:dict[@"UILaunchImageOrientation"]]) {
launchImage = dict[@"UILaunchImageName"];
}
}
return [UIImage imageNamed:launchImage];
}
//APPicon
+ (UIImage *)appIcon{
NSDictionary *infoPlist = [[NSBundle mainBundle] infoDictionary];
NSString *icon = [[infoPlist valueForKeyPath:@"CFBundleIcons.CFBundlePrimaryIcon.CFBundleIconFiles"] lastObject];
UIImage* image = [UIImage imageNamed:icon];
return image;
}