iOS開發(fā)-動態(tài)獲取LaunchImage里的啟動圖和APPicon

應(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;
}




最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,466評論 25 708
  • 生存 雖說是深秋季節(jié),可葉子卻總是感到手腳冰涼,一大早雖有明媚的陽光,可她還是把自己裹得嚴(yán)嚴(yán)實實的,早早的把下一個...
    稻城陽光閱讀 249評論 0 0
  • 今年六月份去了一趟麗江,途中各種事情,讓我體會到了獨自一人的好處…… 我喜歡旅游,對于窮游情有獨鐘!每次出門規(guī)劃攻...
    吾聞閱讀 383評論 0 0
  • 記得小時候,小學(xué)二年級吧。班里轉(zhuǎn)入一個男生,圓臉,有疤,鼻涕,灰,有點臟,劉爽。 后來聽說他媽在我們生活區(qū)門口開饅...
    布裙閱讀 551評論 0 0