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

那年仲夏 提交于 2019-12-06 17:11:55

问题


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(…);
}


回答1:


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 )



回答2:


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




回答3:


First of all, you need to set:

[label setBackgroundColor:[UIColor clearColor]];

Next, set color that you want:

[label layer] setBackgroundColor:[UIColor redColor].CGColor];



回答4:


This is still happening on iOS 12.

Swift version of Ad Taylor answer:

myLabel.frame.integral



来源:https://stackoverflow.com/questions/13670181/how-can-i-remove-uilabels-gray-border-on-the-right-side

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!