iOS UIimage的展開的三種方法

來源:互聯網
上載者:User

iOS UIimage的展開的三種方法
第一種方法

 

// - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight __TVOS_PROHIBITED; //leftCapWidth:左邊不展開地區//topCapHeight:上面不展開地區UIImage *image =[UIImageimageNamed:@"chatdetail_info_other"];UIImageView *imageView=[[UIImageViewalloc]initWithFrame:CGRectMake(20,60, image.size.width, image.size.height)];imageView.image=image;[self.viewaddSubview:imageView];  UIImage *image1 =[UIImageimageNamed:@"chatdetail_info_other"];image1=[image1 stretchableImageWithLeftCapWidth:image1.size.width*0.3topCapHeight:image1.size.height*0.7];UIImageView *imageView1=[[UIImageViewalloc]initWithFrame:CGRectMake(20,220, 200,150)];imageView1.image=image1;[self.viewaddSubview:imageView1];

 

第二種方法

 

//- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets NS_AVAILABLE_IOS(5_0);



iOS中有個叫端蓋(end cap)的概念,用來指定圖片中的哪一部分不用展開。比如中,黑色代表需要被展開的矩形地區,上下左右不需要被展開的邊緣就稱為端蓋。

 


這個方法只接收一個UIEdgeInsets類型的參數,可以通過設定UIEdgeInsets的left、right、top、bottom來分別指定左端蓋寬度、右端蓋寬度、頂端蓋高度、底端蓋高度

 

[image1 resizableImageWithCapInsets:UIEdgeInsetsMake(image1.size.height*0.9, image1.size.width*0.9, image1.size.height*0.9, image1.size.width*0.9)];



第三種方法

//- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode NS_AVAILABLE_IOS(6_0);

// 對比iOS5.0中的方法,只多了一個UIImageResizingMode參數,用來指定展開的模式:

// UIImageResizingModeStretch:展開模式,通過展開UIEdgeInsets指定的矩形地區來填充圖片

// UIImageResizingModeTile:平鋪模式,通過重複顯示UIEdgeInsets指定的矩形地區來填充圖片

[image1 resizableImageWithCapInsets:UIEdgeInsetsMake(image1.size.height*0.9, image1.size.width*0.9, image1.size.height*0.9, image1.size.width*0.9)resizingMode:UIImageResizingModeStretch];

此代碼效果和第二種相同
  

聯繫我們

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