你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS圖片實現可拉伸不變形的處理操作

iOS圖片實現可拉伸不變形的處理操作

編輯:IOS開發綜合

在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

以上就是本文的全部內容,希望能給大家一個參考,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved