左侧的uibutton图像和中心的文本

时间:2013-08-08 00:46:54

标签: ios

我正在创建一个按钮,左侧是图像,中间是文本。 它可以工作,但不知何故,红色的背景颜色不会覆盖整个按钮。

    self.buyButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [self.buyButton.titleLabel setBackgroundColor:[UIColor buttonRed]];
    UIImage *image = [UIImage imageNamed:@"cart.png"];
    [self.buyButton setImage:image forState:UIControlStateNormal];
    self.buyButton.imageEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
    [self.buyButton setTitle:@"Buy" forState:UIControlStateNormal];
    self.buyButton.titleEdgeInsets = UIEdgeInsetsMake(0, 20, 0, 0);
    self.buyButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

[1] http://s23.postimg.org/g8hxmihyv/Screen_Shot_2013_08_07_at_5_45_40_PM.png“快照”

如果我将整个按钮设置为红色,则看起来像这样。 [1] http://s21.postimg.org/xdwrziphv/Screen_Shot_2013_08_07_at_5_50_15_PM.png“snapshot2”

1 个答案:

答案 0 :(得分:3)

那是因为你只是将titleLabel的背景颜色设置为红色。尝试使用自定义按钮设置按钮本身的背景颜色,并更改按钮图层的角半径(#import <QuartzCore/QuartzCore.h>)。例如:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundColor:[UIColor redColor]];
[button.layer setCornerRadius:5.0f];

此外,可能需要将titleLabel的颜色更改为clearColor。