Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I remove UILabel's gray border on the right side?

I have added an UILabel to a custom cell's contentView. I met with a strange side effect. On the right border there is a gray edge. I don't know why. I just added an ordinary UILabel, I have done nothing else.

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.text = @"value1";
label.textAlignment = UITextAlignmentCenter;
[self.contentView addSubview:label];

- (void)layoutSubviews
{
    UILabel *label = [self.contentView.subviews objectAtIndex:i];
    label.frame = CGRectMake(…);
}

enter image description here

like image 908
János Avatar asked Dec 02 '12 14:12

János


3 Answers

I know this is an old question but I have just come across this exact same problem, so I thought I could help someone else looking.

For me the problem was that I had floating numbers in my frames. The following fixed it for me:

CGRectIntegral( myLabel.frame )
like image 58
Ad Taylor Avatar answered Oct 20 '22 05:10

Ad Taylor


I don't know the reason, but the solution is to get rid of that gray edge to set the background color of the cell to clearColor.

label.backgroundColor = [UIColor clearColor];

like image 27
János Avatar answered Oct 20 '22 05:10

János


First of all, you need to set:

[label setBackgroundColor:[UIColor clearColor]];

Next, set color that you want:

[label layer] setBackgroundColor:[UIColor redColor].CGColor];
like image 4
tier777 Avatar answered Oct 20 '22 05:10

tier777