Button内部有很多控件, 如果使用默认的,可能会不太好看, 这个时候需要进行重写调整. 通过自定义UIButton,调整button内部控件位置
/**
* 调整图片的显示效果
*
* @param contentRect 内容的区域
*
* @return 图片的显示范围
*/
- (CGRect)imageRectForContentRect:(CGRect)contentRect {
CGFloat width = 40;
CGFloat height = 46;
CGFloat x = (contentRect.size.width - width) * 0.5;
CGFloat y = 20;
// 自己调试!不固定!
return CGRectMake(x, y, width, height);
}
可以调整的方法如下,如果有兴趣可以自己试试
- (CGRect)backgroundRectForBounds:(CGRect)bounds;
- (CGRect)contentRectForBounds:(CGRect)bounds;
/*=====一般主要调整下面两个=====*/
- (CGRect)titleRectForContentRect:(CGRect)contentRect; // 调整文字 ===>重写统一设置
// 文字调整可以用 button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0); ===>单个设置
- (CGRect)imageRectForContentRect:(CGRect)contentRect; // 调整图片(不是背景),
before
after