天天看點

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)];

代碼解釋: