UIButton同設置文字和圖片時默認是左圖片右邊文字,若是須要左文字右圖片或者上圖片下文字就要設置他們的偏移量,方法以下:spa
設置完文字圖片以後加如下代碼:code
左文字右圖片:圖片
[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)];//圖片距離右邊框距離減小圖片的寬度,其它不邊