在實(shí)際開發(fā)中美工給我們的圖片不是那么合適,有時(shí)候需要對原圖片進(jìn)行拉伸,但是我們只是想把圖片部分拉伸皿伺,而不是全部拉伸,造成圖片的失真盒粮,這時(shí)候就需要用到以下蘋果給我們提供的方法來實(shí)現(xiàn)鸵鸥。
代碼實(shí)現(xiàn)拉伸處理
創(chuàng)建UIImageView
UIImageView *imageView = [[UIImageView alloc] init];
imageView.frame = CGRectMake(10, 10, 250, 150);
[self.view addSubview:imageView];
UIImage *img = [UIImage imageNamed:@"chat_send_nor"];
- resizableImageWithCapInsets方法 iOS6以后的方法
/*
第一個(gè)參數(shù)是說明需要保護(hù)的區(qū)域,第二個(gè)參數(shù)是保護(hù)的模式
UIImageResizingModeTile 平鋪
UIImageResizingModeStretch, 拉伸
*/
img = [img resizableImageWithCapInsets:UIEdgeInsetsMake(30, 30, 30, 30) resizingMode:UIImageResizingModeStretch];
- stretchableImageWithLeftCapWidth方法
// right = width - left - 1;
// bottom = height - top - 1;
//實(shí)質(zhì)上就拉伸一個(gè)像素,因?yàn)樽筮吅蜕线叡Wo(hù)完有公式就是1丹皱,一般保護(hù)都是寬高一半
img = [img stretchableImageWithLeftCapWidth:img.size.width * 0.5 topCapHeight:img.size.height * 0.5];
注意:可拉伸的范圍都是距離leftCapWidth后的1豎排像素妒穴,和距離topCapHeight后的1橫排像素。
圖形化界面中實(shí)現(xiàn)
圖形化界面中的好處是摊崭,不使用代碼就可以全局的實(shí)現(xiàn)圖形的拉伸讼油。