5
votes

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];
2

2 Answers

20
votes

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]];
2
votes
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