首页 > 技术文章 > UIButton 设置图片文字垂直居中排列

-yun 2017-05-08 11:10 原文

#pragma mark 按钮图片文字垂直居中排列  
-(void)setButtonContentCenter:(UIButton *)button  
{  
    CGSize imgViewSize,titleSize,btnSize;  
    UIEdgeInsets imageViewEdge,titleEdge;  
    CGFloat heightSpace = 10.0f;  
      
    //设置按钮内边距  
    imgViewSize = button.imageView.bounds.size;  
    titleSize = button.titleLabel.bounds.size;  
    btnSize = button.bounds.size;  
      
    imageViewEdge = UIEdgeInsetsMake(heightSpace,0.0, btnSize.height -imgViewSize.height - heightSpace, - titleSize.width);  
    [button setImageEdgeInsets:imageViewEdge];  
    titleEdge = UIEdgeInsetsMake(imgViewSize.height +heightSpace, - imgViewSize.width, 0.0, 0.0);  
    [button setTitleEdgeInsets:titleEdge];  
} 

 

调用示例:

[Btn setImage:[UIImage imageNamed:@"test.png"] forState:UIControlStateNormal];  
[Btn setTitle:@"测试" forState:UIControlStateNormal];  
[Btn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal];  
[self setButtonContentCenter:Btn];  

 

推荐阅读