17

カスタムセルのcontentViewにUILabelを追加しました。私は奇妙な副作用に遭遇しました。右側の境界には灰色のエッジがあります。どうしてか分かりません。通常の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

これはiOS12でも引き続き発生します。

Ad TaylorのSwiftバージョンの回答:

myLabel.frame.integral

于 2018-10-10T15:57:09.047 に答える