0

このテーブル ビューの各セルの左上に奇妙な半円が描かれています。私はそれを取り除くことができないようです。セルはすべて UITableViewCell のサブクラスですが、セルでカスタム描画を行っていません。

湾曲したアーティファクトは、各セクションの最初のセルにのみ表示され、テーブル ビューの背景に関係なく持続します。

ここに画像の説明を入力

これはセル内のすべてのカスタム コードで、残りは IB にあります。

- (void)layoutSubviews {
  // NSLog(@"DataEntryCell layoutSubviews");
  UILabel *topLabel = [self parameterLabel];
  UILabel *bottomLabel = [self dataLabel];

  topLabel.font = [UIFont boldSystemFontOfSize:18.0];
  topLabel.textAlignment = UITextAlignmentCenter;
  topLabel.textColor = [UIColor darkGrayColor];
  topLabel.shadowColor = [UIColor lightGrayColor];
  topLabel.shadowOffset = CGSizeMake(0.0, 1.0);

  bottomLabel.font = [UIFont systemFontOfSize:16.0];
  bottomLabel.textAlignment = UITextAlignmentLeft;
  bottomLabel.textColor = [UIColor darkGrayColor];
  bottomLabel.numberOfLines = 0;
  bottomLabel.lineBreakMode = UILineBreakModeWordWrap;

  self.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
  self.selectionStyle = UITableViewCellSelectionStyleGray;
  self.autoresizesSubviews = YES;
}

何が原因でしょうか?

ありがとう

4

1 に答える 1

1

layoutSubviews本当にそこに属しているものは何も見えません。ラベルのこれらのプロパティはすべて、ラベルの作成時に設定する必要があります。self のプロパティについても同様です。特にselectionStyle、灰色に言及していて、灰色の線が迷子になっているため、疑わしいようです。が呼び出されるまでにlayoutSubviewsは、設定するには遅すぎautoresizesSubviewsます。を受け取る前に自動サイズ変更が行われますlayoutSubviews

awakeFromNibnib からセル (およびそのサブビュー) をロードしている場合、またはサブビューを作成および追加するコードを使用している場合は、そのようなものをセルの初期化に近づけてみてください。

于 2012-04-09T03:34:46.113 に答える