1.图片居左,文字在右,垂直居中显示,文字与图片没有间距为10
代码如下:
- (void)setIconInLeft:(UIButton *)btn WithSpacing:(CGFloat)Spacing
{
btn.titleEdgeInsets = (UIEdgeInsets){
.top = 0,
.left = Spacing/2,
.bottom = 0,
.right = -Spacing/2,
};
btn.imageEdgeInsets = (UIEdgeInsets){
.top = 0,
.left = -Spacing/2,
.bottom = 0,
.right = Spacing/2,
};
}
2.图片居右,文字在左,垂直居中显示,文字与图片没有间距为10,
代码如下:
- (void)setIconInRight:(UIButton *)btn WithSpacing:(CGFloat)Spacing
{
CGFloat img_W = btn.imageView.frame.size.width;
CGFloat tit_W = btn.titleLabel.frame.size.width;
btn.titleEdgeInsets = (UIEdgeInsets){
.top = 0,
.left = - (img_W + Spacing / 2),
.bottom = 0,
.right = (img_W + Spacing / 2),
};
btn.imageEdgeInsets = (UIEdgeInsets){
.top = 0,
.left = (tit_W + Spacing / 2),
.bottom = 0,
.right = - (tit_W + Spacing / 2),
};
}
3.图片居上,文字在下,垂直居中显示,文字与图片没有间距为10
代码如下:
- (void)setIconInTop:(UIButton *)btn WithSpacing:(CGFloat)Spacing
{
CGFloat img_W = btn.imageView.frame.size.width;
CGFloat img_H = btn.imageView.frame.size.height;
CGFloat tit_W = btn.titleLabel.frame.size.width;
CGFloat tit_H = btn.titleLabel.frame.size.height;
btn.titleEdgeInsets = (UIEdgeInsets){
.top = (tit_H / 2 + Spacing / 2),
.left = - (img_W / 2),
.bottom = - (tit_H / 2 + Spacing / 2),
.right = (img_W / 2),
};
btn.imageEdgeInsets = (UIEdgeInsets){
.top = - (img_H / 2 + Spacing / 2),
.left = (tit_W / 2),
.bottom = (img_H / 2 + Spacing / 2),
.right = - (tit_W / 2),
};
}
4.图片居下,文字在上,垂直居中显示,文字与图片没有间距为10
代码如下:
- (void)setIconInBottom:(UIButton *)btn WithSpacing:(CGFloat)Spacing
{
CGFloat img_W = btn.imageView.frame.size.width;
CGFloat img_H = btn.imageView.frame.size.height;
CGFloat tit_W = btn.titleLabel.frame.size.width;
CGFloat tit_H = btn.titleLabel.frame.size.height;
btn.titleEdgeInsets = (UIEdgeInsets){
.top = - (tit_H / 2 + Spacing / 2),
.left = - (img_W / 2),
.bottom = (tit_H / 2 + Spacing / 2),
.right = (img_W / 2),
};
btn.imageEdgeInsets = (UIEdgeInsets){
.top = (img_H / 2 + Spacing / 2),
.left = (tit_W / 2),
.bottom = - (img_H / 2 + Spacing / 2),
.right = - (tit_W / 2),
};
}