1. 程式人生 > >【iOS開發-背景】關於按鈕背景圖片的拉伸

【iOS開發-背景】關於按鈕背景圖片的拉伸

關於按鈕背景圖片拉伸與不拉伸的效果

拉伸的效果:
這裡寫圖片描述
不拉伸的效果
這裡寫圖片描述

拉伸的效果:
這裡寫圖片描述

不拉伸的效果
這裡寫圖片描述

拉伸原理

iOS開發中,有一個方法可以將圖片按照指定的形式拉伸,拉伸方式為下圖,一般拉伸部分都為0:
這裡寫圖片描述

實現方式

  • 新建一個UIImage的分類
  • 為UIImage擴充一個方法+(UIImage )resizableImage:(NSString )imageName;
  • 然後再按鈕所在的ViewController裡面設定按鈕的背景

分類

@implementation UIImage (Extension)

+(UIImage *)resizableImage:(NSString
*)imageName { UIImage *image = [UIImage imageNamed:imageName]; CGFloat w = image.size.width * 0.5; CGFloat h = image.size.height * 0.5; return [image resizableImageWithCapInsets:UIEdgeInsetsMake(w, h, w, h)]; } @end

controller部分

-(void)viewDidLoad {
    UIImage *normal = [UIImage
resizableImage:@"RedButton"]; UIImage *highlight = [UIImage resizableImage:@"RedButtonPressed"]; [self.login setBackgroundImage:normal forState:UIControlStateNormal]; [self.login setBackgroundImage:highlight forState:UIControlStateHighlighted]; }