天天看点

iOS中关于设置UIButton文字和图标对齐格式的问题

在设置UIButton文字和图标对齐方式的时候,需要注意:

setTitleEdgeInsets和setImageEdgeInsets方法只对通过setTitle和setImage方法设置的文字和图片有效。

很多人错将setBackgroundImage当成setImage使用,结果看到了一个图标被作为背景图片拉伸了。之后任怎么设置setImageEdgeInsets都看不到效果。

下面顺便贴出一位哥们写的代码,效果不错!

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(50, 50, 150, 50)];

[button setTitle:@"HHH" forState:UIControlStateNormal];

[button setBackgroundImage:[UIImage imageNamed:@"narrowend.png"] forState:UIControlStateNormal];

[button setImage:[UIImage imageNamed:@"panelicon.png"] forState:UIControlStateNormal]; 

[button setImageEdgeInsets:UIEdgeInsetsMake(0.0, -20, 0.0, 0.0)];

代码解释: