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),
? ? };
}