簡體   English   中英

UIButton中帶有圖像的標題

[英]Title in UIButton with Image

我已經在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的titleEdgeInsets和imageEdgeInsets來根據需要放置標題和圖像。

請參閱Apple的UIButton參考文檔

例如,在UIButton子類中:

[self setImageEdgeInsets:UIEdgeInsetsMake(imageFrame.origin.y, imageFrame.origin.x, 0, 0)];
[self setTitleEdgeInsets:UIEdgeInsetsMake(labelFrame.origin.y, labelFrame.origin.x, 0, 0)];

您需要改為設置按鈕的背景圖像:

[button setBackgroundImage:[UIImage imageNamed:@"foo"] forState:UIControlStateNormal];
[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將始終垂直和水平居中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM