前言:直接上需求:
2.png
1.png
- 簡(jiǎn)單看看需求:就是在商品價(jià)格后面讓我們有個(gè)顯示團(tuán)購(gòu)人數(shù)的標(biāo)簽類(lèi)似的東西盘寡。 然后這個(gè)東西就是用按鈕來(lái)做,讓按鈕大小隨著文字縮放。 我們最重要的就是考慮這個(gè)圖片怎么拉伸不變形
做法步驟
- 給一篇參考文章 寫(xiě)得比較細(xì),我直接上我的做法了
1.給UIImage寫(xiě)個(gè)分類(lèi)
@interface UIImage (JJExtenion)
//返回一個(gè)可拉伸的圖片
+(UIImage *)resizableImageWithName:(NSString *)imageName;
@implementation UIImage (JJGExtenion)
+(UIImage *)resizableImageWithName:(NSString *)imageName{
UIImage *image = [UIImage imageNamed:imageName];
// 設(shè)置端蓋的值--其它方向不需要拉伸,只拉伸頭部
CGFloat left = image.size.width * 0.2;
UIEdgeInsets edgeInsets = UIEdgeInsetsMake(0, left, 0, 0);
// 設(shè)置拉伸的模式
UIImageResizingMode mode = UIImageResizingModeStretch;
// 拉伸圖片
UIImage *newImage = [image resizableImageWithCapInsets:edgeInsets resizingMode:mode]; return newImage;
}
- 2.按鈕簡(jiǎn)單設(shè)置
//團(tuán)購(gòu)人數(shù)顯示btn
self.groupBtn = [UIButton buttonWithType:UIButtonTypeCustom];
//獲得可拉伸圖片
UIImage *newImage = [UIImage resizableImageWithName:@"14.png"];
//設(shè)置背景圖片
[self.groupBtn setBackgroundImage:newImage forState:UIControlStateNormal];
[self.groupBtn setTitle:@"2人團(tuán)" forState:UIControlStateNormal];
//設(shè)置文字顏色
[self.groupBtn setTitleColor:[UIColor JJ_NoneAlphaWithR:78 green:209 blue:169] forState:UIControlStateNormal];
//設(shè)置按鈕內(nèi)容的內(nèi)邊距
self.groupBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 5, 0, 2);
self.groupBtn.titleLabel.font = [UIFont systemFontOfSize:Info_Font * Font_Scale];
//按鈕自適應(yīng)
[self.groupBtn sizeToFit];
[self addSubview:self.groupBtn];
#按鈕布局
[self.groupBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(weakSelf.productPrice.mas_centerY);
make.left.equalTo(weakSelf.productPrice.mas_right);