[英]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來根據需要放置標題和圖像。
例如,在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.