iOS 使用一張圖片做不同尺寸的占位圖

前言

以前項(xiàng)目中使用站位圖,每一個(gè)不同尺寸的UIImageView 或者 UIButton 都需要美工切兩張占位圖(@2x和@3x),會(huì)增加App的體積。本文主要講是如何使用一張圖片,適應(yīng)不同尺寸的容器。

只有一個(gè)方法就不繞圈子了

/**
 傳入需要的占位圖尺寸 獲取占位圖

 @param size 需要的站位圖尺寸
 @return 占位圖
 */
+ (UIImage *)placeholderImageWithSize:(CGSize)size {
    
    // 占位圖的背景色
    UIColor *backgroundColor = [UIColor whiteColor];
    // 中間LOGO圖片
    UIImage *image = [UIImage imageNamed:@"placeholdimage"];
    // 根據(jù)占位圖需要的尺寸 計(jì)算 中間LOGO的寬高
    CGFloat logoWH = (size.width > size.height ? size.height : size.width) * 0.5;
    CGSize logoSize = CGSizeMake(logoWH, logoWH);
    // 打開(kāi)上下文
    UIGraphicsBeginImageContextWithOptions(size,0, [UIScreen mainScreen].scale);
    // 繪圖
    [backgroundColor set];
    UIRectFill(CGRectMake(0,0, size.width, size.height));
    CGFloat imageX = (size.width / 2) - (logoSize.width / 2);
    CGFloat imageY = (size.height / 2) - (logoSize.height / 2);
    [image drawInRect:CGRectMake(imageX, imageY, logoSize.width, logoSize.height)];
    UIImage *resImage =UIGraphicsGetImageFromCurrentImageContext();
    // 關(guān)閉上下文
    UIGraphicsEndImageContext();
    
    return resImage;
    
}
下面上一張圖解釋一下方法中的內(nèi)容
占位圖.jpg

注意

一個(gè)項(xiàng)目使用一張占位圖雖然會(huì)少量的減少App的體積,但是對(duì)性能也會(huì)造成一定影響。這就需要根據(jù)自己的需求來(lái)選擇了。

以上觀點(diǎn)如果有錯(cuò)誤的地方, 希望能及時(shí)聯(lián)系我,我會(huì)立即更改,謝謝。

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

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

  • Swift版本點(diǎn)擊這里歡迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh閱讀 25,550評(píng)論 7 249
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一種新的協(xié)議。它實(shí)...
    香橙柚子閱讀 24,111評(píng)論 8 183
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,241評(píng)論 4 61
  • 給大家報(bào)告一個(gè)喜訊: 2016年全球自然科學(xué)技術(shù)指數(shù),中國(guó)居然完爆西方(注意: 此可不是僅僅完爆美國(guó),而是...
    我是龍圖閱讀 164評(píng)論 0 1
  • 最近校園虐童事件鬧的沸沸揚(yáng)揚(yáng),其實(shí)冰凍三尺非一日之寒,這不是新現(xiàn)象,我們小時(shí)候上學(xué)就經(jīng)常受罰站,耳光,掃把,扣留不...
    西岳散人閱讀 276評(píng)論 0 0