5

I'm creating some UIButtons programmatically in a loop but I'm having some problem with setting the background color of the button.

The color of the button always shows up as white. But works fine with I'm only using 2 colors in the backgroundcolor. Eg : red : 255 green:0 blue :200

Here is the code I'm using to add the button.

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    button.frame = CGRectMake(80, 20 + (i*75), 200, 75);
    button.layer.cornerRadius = 10;
    button.layer.borderWidth = 1;
    [button setTitle:@"saf" forState:UIControlStateNormal];
    [button addTarget:self action:@selector(moveLocation:) forControlEvents:UIControlEventTouchUpInside];
    [button setBackgroundColor:[UIColor colorWithRed:255 green:180 blue:200 alpha:1]];
    button.autoresizingMask = UIViewAutoresizingFlexibleWidth;
    [scrollView addSubview:button];
Steve
  • 31,144
  • 19
  • 99
  • 122
Tim
  • 127
  • 2
  • 2
  • 8

2 Answers2

20

I believe you are building your UIColor wrong.

Try this:

[button setBackgroundColor:[UIColor colorWithRed:(255/255.0) green:(180/255.0) blue:(200/255.0) alpha:1]];
Jake Dempsey
  • 6,264
  • 1
  • 30
  • 25
  • Thanks! I always though it was the numbers values of rgb instead of the percentage values. – Tim Jul 06 '11 at 03:43
2
UIColor colorWithRed: green: blue

accepts CGFloats between 0.0 and 1.0

Here is the api reference.

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIColor_Class/Reference/Reference.html

Kal
  • 24,724
  • 7
  • 65
  • 65