1立轧、只有文字(默認居中)
1.1 文字居左顯示
B66CABD9-882C-42FE-A528-8218740ADD93.png
代碼實現(xiàn):
btn02.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
// 也可調(diào)整左邊間距
[btn02 setTitleEdgeInsets:UIEdgeInsetsMake(0, 5, 0, 0)];
1.2 文字居右顯示
代碼實現(xiàn):
btn02.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
// 調(diào)整右邊間距
[btn02 setTitleEdgeInsets:UIEdgeInsetsMake(0, 0, 0, 5)];
2纪挎、只有圖片(默認居中顯示)
2.1 圖片居左顯示
代碼實現(xiàn):
按鈕屬性
// how to position content vertically inside control. default is center
@property(nonatomic) UIControlContentVerticalAlignment contentVerticalAlignment;
// how to position content hozontally inside control. default is center
@property(nonatomic) UIControlContentHorizontalAlignment contentHorizontalAlignment;
設(shè)置屬性,
btn02.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
2.2 圖片居右顯示
設(shè)置按鈕屬性:
btn02.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
// 設(shè)置右邊間距為5,感覺不那么擁擠
[btn02 setImageEdgeInsets:UIEdgeInsetsMake(0, 0, 0, 5)];
3、文字 + 圖片
3.1、左右-----圖片在右 文字在左(默認的是圖片在左剧董,文字在右 在此不再贅述)
默認情況:
圖片在右 文字在左:
代碼實現(xiàn):
// 先設(shè)置title,圖片的x由title寬度決定
[btn02 setTitleEdgeInsets:UIEdgeInsetsMake(0, -btn02.imageView.width, 0, btn02.imageView.width)];
[btn02 setImageEdgeInsets:UIEdgeInsetsMake(0, btn02.titleLabel.width, 0, -btn02.titleLabel.width)];
3.2破停、上下-----圖片在上 文字在下
代碼實現(xiàn):自定義按鈕控件翅楼,重寫-layoutSubviews方法
- (void)layoutSubviews
{
[super layoutSubviews]; // 不可少:布局初始化之后 再調(diào)整
// 調(diào)整image與title的frame
self.imageView.centerX = self.width * 0.5;
self.imageView.y = self.height * 0.5 - self.imageView.height; // 或者y=0
// 調(diào)整位置
[self.titleLabel sizeToFit]; // titleLabel寬高與文字占用空間一致
self.titleLabel.centerX = self.width * 0.5;
self.titleLabel.y = CGRectGetMaxY(self.imageView.frame)+5;// 上下間距是5
}
最后編輯于 :2020.10.20 17:32:22
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者