17

我已将 UILabel 添加到自定义单元格的 contentView 中。我遇到了一个奇怪的副作用。在右边界有一个灰色边缘。我不知道为什么。我只是添加了一个普通的UILabel,我没有做其他任何事情。

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

在此处输入图像描述

4

4 回答 4

25

我知道这是一个老问题,但我刚刚遇到了同样的问题,所以我想我可以帮助其他人寻找。

对我来说,问题是我的帧中有浮动数字。以下为我修复了它:

CGRectIntegral( myLabel.frame )
于 2013-08-21T10:34:29.887 回答
8

不知道是什么原因,解决办法就是去掉那个灰色的边缘,把单元格的背景色设置为clearColor。

label.backgroundColor = [UIColor clearColor];

于 2012-12-02T14:31:29.073 回答
4

首先,您需要设置:

[label setBackgroundColor:[UIColor clearColor]];

接下来,设置您想要的颜色:

[label layer] setBackgroundColor:[UIColor redColor].CGColor];
于 2013-12-10T15:05:54.570 回答
0

这仍然在 iOS 12 上发生。

Ad Taylor的Swift版本回答:

myLabel.frame.integral

于 2018-10-10T15:57:09.047 回答