大道至簡,直接上代碼
-(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/198376iOS - UIButton(UIEdgeInsets)/設置button上的文字和圖片上下垂直居中對齊
http://doc.okbase.net/willingYaTou/archive/38295.html