iOS根據圖片名進行自動適配(通過類別實現)

來源:互聯網
上載者:User

標籤:

在實際開發應用中,美工通常都會根據不同的機型設計出很多套背景圖片,而這些背景圖片的命名通常都是有規律的,我們剛好可以利用這一特點把圖片名稱的修改或者拼接寫成一個方法,然後根據不同的機型返回不同的適配圖片,即可達到自動適配的目的,且避免了圖片的失真。

首先,為NSString建立立一個分類,專門用來在圖片名後面拼接對應的螢幕資訊
#import "NSString+append.h"@implementation NSString (append)-(NSString *)fileNameAppend:(NSString *)string{    //拿到副檔名    NSString *extension = [self pathExtension];        //去掉副檔名    NSString *fileName = [self stringByDeletingPathExtension];        //拼接字串名稱    fileName = [fileName stringByAppendingString:string];        //加入副檔名    NSString *newFileName = [fileName stringByAppendingPathExtension:extension];        //返回處理好的圖片名    return newFileName;}@end

接著,對UIImage寫一個分類,功能是傳入圖片名,返回給我相應機型的適配圖片
#import "UIImage+adjustImage.h"#import "NSString+append.h"@implementation UIImage (adjustImage)-(UIImage *)addImageNameForFit:(NSString *)name{    //進行判斷,對不同的機型加入不同的圖片名稱的尾碼,返回不同的適配圖片    if (iPhone5) {        name = [name fileNameAppend:@"[email protected]"];    } else if (iPhone6) {        name = [name fileNameAppend:@"[email protected]"];    } else if (iPhone6Plus) {        name = [name fileNameAppend:@"[email protected]"];    }        return [UIImage imageNamed:name];}@end

這樣,通過這兩個類別(分類),如果我想載入一張背景圖片,無需考慮機型適配問題,只要傳入background.jpg,程式就會根據機型是iPhone5、iPhone6還是iPhone6plus自動給圖片名加入相應的尾碼,再到工程中找到相應的圖片載入到螢幕中,從而保證了圖片不是真且不被展開

iOS根據圖片名進行自動適配(通過類別實現)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.