在iOS開發中會遇到使用一個氣泡類型的視圖來做背景,有時候是UIView和UIImageView,有時候是對話框Button,
如果直接設置氣泡圖片的話,圖片在拉伸過程中會把氣泡的小嘴也拉大,而且如果是Button的話,內容也有可能會添加到小嘴的地方,
在iOS6後,使用 resizableImageWithCapInsets 重構圖片大小拉伸的設置可以解決這個問題。
原理就是把這個UIImage的中間部分,沒有小嘴的一個部分取出來進行拉伸,而小嘴的部分不變,如果是Button的話,還需要設置內容
在UIButton這個content視圖上的邊距。
UIImage * backImage;
backImage = [UIImage imageNamed:@"chatfrom_bg_normal.png"];
backImage = [backImage resizableImageWithCapInsets:UIEdgeInsetsMake(35, 22, 10, 10)];
backImageView.image = backImage;
backImageView.frame = CGRectMake(, , , );
如果UIimage是給UIbutton來設置的話,還需要這樣寫,
button.contentEdgeInsets = UIEdgeInsetsMake(kContentTop, kContentLeft, kContentBottom, kContentRight);//這四個參數就是button的內容對視圖的邊距,自己調整值來看效果。