iOS Button的图标文字排版方式

图片和标题 间距

self.titleEdgeInsets;改变标题在按钮中的位置

self.imageEdgeInsets改变图片在按钮中的位置

self.contentEdgeInsets改变按钮中所有内容的位置

设置内间距

图片 和标题 位置布局

直接影响按钮内部的子控件

缺陷不知道先调用的是哪个方法(不推荐使用)

- (CGRect)titleRectForContentRect:(CGRect)contentRect

{

self.titleH = contentRect.size.height * 0.4;

returnCGRectMake(0, 0, contentRect.size.width,self.titleH);

}

- (CGRect)imageRectForContentRect:(CGRect)contentRect

{

returnCGRectMake(0, contentRect.size.height * 0.4, contentRect.size.width, contentRect.size.height * 0.6);

}

一般情况下都是使用layoutSubviews布局子控件 layoutSubviews准确性高


使用示例如下:上图下文

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

btn.frame=CGRectMake(V_S_W-Fit_Width*(59+27),22,Fit_Width*37,Fit_Width*37);

UIImage*btnImage = [UIImage imageNamed:@"icon"];

[btn setImage: btnImageforState:UIControlStateNormal];

[btn setTitle:@"编辑"forState:UIControlStateNormal];

btn.titleLabel.font=SMALL_TITLE_FONT;

[btn setImageEdgeInsets:UIEdgeInsetsMake(0, -2,5,5)];

[btn setTitleEdgeInsets:UIEdgeInsetsMake(0.0,-Fit_Width*35, -Fit_Width*40,0.0)];

[btn addTarget:selfaction:@selector(action :)forControlEvents:UIControlEventTouchUpInside];

[self addSubview:btn];

你可能感兴趣的:(iOS Button的图标文字排版方式)