這個方法經(jīng)常用到拉伸圖片啄刹,保證看起來圖片不變形。比如聊天的氣泡凄贩、或者圖片帶有邊框圖案誓军,為了適配屏幕,保證邊框不變形疲扎。
PS:看網(wǎng)上好多人講昵时,都是簡單一句話,圖片確實拉伸了评肆,但是拉伸的部分我也不清楚债查,雖然目的達(dá)到了,用的也是迷迷糊糊瓜挽。自己就記錄一下盹廷,權(quán)當(dāng)給自己加深一下印象了。好記性不如爛筆頭久橙。
QQ20170717-111114.png
UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectMake(10, 70, 80, 80)];
iv.image = [UIImage imageNamed:@"1111"];
UIImage *iamge = [UIImage imageNamed:@"1111"];
UIImageView *iv2 = [[UIImageView alloc] initWithFrame:CGRectMake(10, 160, 150, 150)];
iamge = [iamge stretchableImageWithLeftCapWidth:20 topCapHeight:20];
iv2.image = iamge;
[self.view addSubview:iv];
[self.view addSubview:iv2];
QQ20170717-104503.png
說明:圖片大小是160x160像素大小俄占。改下名稱成了@2x的圖片。
所以在手機(jī)上顯示80x80大小才是正常的顯示淆衷。
1.經(jīng)過測試缸榄,如果imageview的大小比正常顯示即80x80小,這個拉伸不起作用祝拯。(廢話甚带,拉伸就是讓它變大,變小的話拉伸當(dāng)然沒用)
2.不變的區(qū)域佳头,是除了那個點(diǎn)之外4個區(qū)域鹰贵,圖中黑色邊框標(biāo)注的部分,可以明顯看到康嘉,如果把這4個區(qū)域合起來就是原圖了碉输。
3.設(shè)置的左邊和上邊的數(shù)值,其實是坐標(biāo)值亭珍,不是像素點(diǎn)位置敷钾。它把那個坐標(biāo)點(diǎn)的那個像素進(jìn)行了個正方形的復(fù)制。圖中紅色區(qū)域肄梨。
4.還有剩下的上下左右4個區(qū)域阻荒,這個4個區(qū)域可以觀察看到,是拉伸點(diǎn)對應(yīng)的那一排和一列的像素點(diǎn)進(jìn)行了復(fù)制众羡,除了拉伸點(diǎn)财松。(拉伸點(diǎn)單獨(dú)復(fù)制成了一個正方形)