UIButton 在图像顶部设置文本

UIButton set Text on top of image

如何在已经包含图像的按钮中添加文本。我尝试了各种方法,但文本不可见。如何让文字在图片上方可见?

谁能帮帮我!

尝试设置按钮backgroundImage 属性

[self.buttonWithTextAndImage setBackgroundImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
[self.buttonWithTextAndImage setTitle:@"Button Title" forState:UIControlStateNormal]; 

您需要使用 setBackgroundImage:forState:

设置按钮的背景图像,而不是图像

将按钮的背景图片和标题设置为-

[self.m_myBetButton setBackgroundImage:[UIImage imageNamed:@"buttonImage.png"] forState:UIControlStateNormal];
    [self.m_myBetButton setTitle:@"BUTTON TITLE" forState:UIControlStateNormal];
[yourButton setBackgroundImage:[UIImage imageNamed:@"test.png"] forState:UIControlStateNormal];
[yourButton setTitle:@"Click" forState:UIControlStateNormal];

这一定有用。

一些东西,对我来说效果很好:我在 InterfaceBuilder 中设置按钮并使用 "Position" 附近的小图标来定义文本的位置。鼠标悬停显示 InterfaceBuilder 应用的代码。 现在如果文本没有显示,由于颜色,我使用对按钮的引用并设置一个 attributedTitle:

NSDictionary *atts = [[NSDictionary alloc]initWithObjectsAndKeys:[NSColor whiteColor], NSForegroundColorAttributeName, nil];
    NSAttributedString *example = [[NSAttributedString alloc]initWithString:@"myText" attributes:atts];
    [myExampleButton setAttributedTitle:example];

如果您的按钮图像设置为 setImage 状态,则文本不会显示在按钮上。

如果你必须在按钮上显示名称那么我们必须设置setBackgroundImage然后你可以设置按钮的标题。

[btn setBackgroundImage:YOURIMAGE forState:UIControlStateNormal];
[btn setTitle:YOURTITLE forState:UIControlStateNormal];

我找到了更好的方法。

UILabel *next=[ [UILabel alloc] initWithFrame:CGRectMake(0,0,375,65)];
next.text=@"SIGN IN";
next.textAlignment = NSTextAlignmentCenter;
next.font=[UIFont fontWithName:@"Helvetica" size:20.0 ];
next.textColor=[UIColor whiteColor];
[self.button addSubview:next];