iOS圖片實現可展開不變形的處理操作_IOS

來源:互聯網
上載者:User

在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

以上就是本文的全部內容,希望能給大家一個參考,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.