我已經在UIButton
中設置圖像,但我需要設置此圖像上方的標題。我怎樣才能做到這一點?標題在UIButton與圖像
[button setImage:[UIImage imageNamed:@"btn_select_s.png"] forState:0];
[button setImage:[UIImage imageNamed:@"btn_select_p.png"] forState:1];
[button setTitle:@"my title" forState:0];
我已經在UIButton
中設置圖像,但我需要設置此圖像上方的標題。我怎樣才能做到這一點?標題在UIButton與圖像
[button setImage:[UIImage imageNamed:@"btn_select_s.png"] forState:0];
[button setImage:[UIImage imageNamed:@"btn_select_p.png"] forState:1];
[button setTitle:@"my title" forState:0];
您需要設置按鈕的背景圖像,而不是:
[button setBackgroundImage:[UIImage imageNamed:@"foo"] forState:UIControlStateNormal];
Thx很多!它的工作 – Ladessa 2013-02-20 16:52:25
可以使用的UIButton的titleEdgeInsets和imageEdgeInsets如要放置標題和圖像。
See Apple's UIButton reference documentation
例如,在一個UIButton子類:
[self setImageEdgeInsets:UIEdgeInsetsMake(imageFrame.origin.y, imageFrame.origin.x, 0, 0)];
[self setTitleEdgeInsets:UIEdgeInsetsMake(labelFrame.origin.y, labelFrame.origin.x, 0, 0)];
[button setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
[button setContentVerticalAlignment:UIControlContentVerticalAlignmentTop];
//Use you values for edge insets here.
[button setTitleEdgeInsets:UIEdgeInsetsMake(20.0f, 10.0f, 0.0f, 0.0f)];
有方便的UIButton子類在這裏:
https://github.com/lionhylra/FlexButton
它具有的功能,如: - 它提供4種佈局樣式。
- 它的工作原理與UIButton一樣簡單。
- 當您調整按鈕的大小時,imageView和titleLabel的大小將相應地正確更改。他們不會陷入混亂。這是使用邊緣插入的本質區別。
- TitleLabel和imageView將始終以垂直和水平居中。
你的答案只提供了Swift中的例子。這個問題專門用Objective-C標記。考慮發佈一個基於Objective-C的答案。 – Acludia 2017-03-06 21:26:29
[iPhone SDK:UIButton同時具有圖像和文字可能嗎?]的可能重複?(http://stackoverflow.com/questions/4344847/iphone-sdk-uibutton-with-both-image-and-text-possible) – rishi 2013-02-20 16:47:16