大道至简,直接上代码
-(void)setButtonContentCenter:(UIButton *) btn
{
CGSize imgViewSize,titleSize,btnSize;
UIEdgeInsets imageViewEdge,titleEdge;
CGFloat heightSpace = 10.0f;
//设置按钮内边距
imgViewSize = btn.imageView.bounds.size;
titleSize = btn.titleLabel.bounds.size;
btnSize = btn.bounds.size;
imageViewEdge = UIEdgeInsetsMake(heightSpace,0.0, btnSize.height -imgViewSize.height - heightSpace, - titleSize.width);
[btn setImageEdgeInsets:imageViewEdge];
titleEdge = UIEdgeInsetsMake(imgViewSize.height +heightSpace, - imgViewSize.width, 0.0, 0.0);
[btn setTitleEdgeInsets:titleEdge];
}
重点参考:
iOS UIButton 设置图片文字垂直排列
http://my.oschina.net/sayonala/blog/198376
iOS - UIButton(UIEdgeInsets)/设置button上的文字和图片上下垂直居中对齐
http://doc.okbase.net/willingYaTou/archive/38295.html