在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的内容对视图的边距,自己调整值来看效果。