UIButton同設置文字和圖片時默認是左圖片右邊文字,如果需要左文字右圖片或者上圖片下文字就要設置他們的偏移量,方法如下:
設置完文字圖片之后加以下代碼:
左文字右圖片:
[btn setTitleEdgeInsets:UIEdgeInsetsMake(0, -
btn.imageView.frame.size.width, 0, btn.imageView.frame.size.width)];
[btn setImageEdgeInsets:UIEdgeInsetsMake(0, btn.titleLabel.bounds.size.width, 0, - btn.titleLabel.bounds.size.width)];
上圖片下文字:
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;//使圖片和文字水平居中顯示
[btn setTitleEdgeInsets:UIEdgeInsetsMake(btn.imageView.frame.size.height ,-
btn.imageView.frame.size.width, 0.0,0.0)];//文字距離上邊框的距離增加imageView的高度,距離左邊框減少imageView的寬度,距離下邊框和右邊框距離不變
[btn setImageEdgeInsets:UIEdgeInsetsMake(0.0, 0.0,0.0, -
btn.titleLabel.bounds.size.width)];//圖片距離右邊框距離減少圖片的寬度,其它不邊