在iOS的實際開發中,如果我們把一張有圖片(有特別形狀的,特別是類似有圓角的圖片)放在UIButton中,當UIButton改變大小是,圖片可能會被拉伸並且產生變形,我們可以通過-(UIImage *)resizableImageWithCapInsets:resizingMode:方法(通過UIImage對象調用該方法,並且傳入要拉伸的圖片的名字作為參數)實現返回一個可拉伸不變形的圖片,這裡我們把這個方法寫到UIImage類的分類中把它封裝起來,日後的iOS開發中我們可以直接拿來使用:
UIImage+Extension.h
#import <UIKit/UIKit.h> @interface UIImage (Extension) /** * 傳入圖片的名稱,返回一張可拉伸不變形的圖片 * * @param imageName 圖片名稱 * * @return 可拉伸圖片 */ + (UIImage *)resizableImageWithName:(NSString *)imageName; @end
UIImage+Extension.m
#import "UIImage+Extension.h" @implementation UIImage (Extension) + (UIImage *)resizableImageWithName:(NSString *)imageName { // 加載原有圖片 UIImage *norImage = [UIImage imageNamed:imageName]; // 獲取原有圖片的寬高的一半 CGFloat w = norImage.size.width * 0.5; CGFloat h = norImage.size.height * 0.5; // 生成可以拉伸指定位置的圖片 UIImage *newImage = [norImage resizableImageWithCapInsets:UIEdgeInsetsMake(h, w, h, w) resizingMode:UIImageResizingModeStretch]; return newImage; } @end
以上就是本文的全部內容,希望能給大家一個參考,也希望大家多多支持腳本之家。