0

我想创建一个UIButton使用它的setBackgroundImage,setImagesetTitle属性的,但是当我添加时setTitlesetImage标题setBackgroundImage不会出现。

我试过以下。

[button setBackgroundImage:[UIImage imageNamed:@"image3.jpg"] forState:UIControlStateNormal]; 
[button setImage:[UIImage imageNamed:@"month_pct_general.png"] forState:UIControlStateNormal];
[button setTitle:[NSString stringWithFormat:@"%d",[button tag]] forState:UIControlStateNormal]; 
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
[button.titleLabel setFont:[UIFont boldSystemFontOfSize:20.0f]]; 
[button setTitleEdgeInsets:UIEdgeInsetsMake(45, 0, 0, 25)];
4

2 回答 2

2

您在按钮上的标题和标题上的所有图像都在那里,所以像这样在图像上添加标签。

UIButton *myButton = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
[myButton setFrame:CGRectMake(0,3,70,32)];
[myButton setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[myButton addTarget:self action:@selector(compete) forControlEvents:UIControlEventTouchUpInside];
UILabel *Label=[[UILabel alloc]initWithFrame:CGRectMake(6, 5, 60, 20)];
[Label setText:@"label"];

Label.backgroundColor=[UIColor clearColor];
[Label setFont:[UIFont fontWithName:@"Helvetica-Bold" size:12]];
Label.textColor=[UIColor whiteColor];
[myButton addSubview:Label];

您的所有图像仅在标题上方,因此您的标题在背景中,因此请在图像视图上使用标签。

于 2012-05-07T09:55:05.510 回答
0

如果您使用界面生成器制作 GUI,则单击标签并转到编辑器-> 排列-> 发送到前面。

于 2012-05-07T09:59:34.880 回答