4

カスタムスタイルを作成しようとしているUITableViewControllerがあります。そこまでの道のりは95%ですが、セルの背景から奇妙な陰影を取り除くのに問題があります。このスクリーンショットで削除しようとしているものを強調しました。

通常のビュー

この問題を解決するために、UITableViewを構成しているすべてのビューをダンプし、それらに色を付けて、変更する必要のあるビューを見つけようとしました。

スタイル付きビュー

ご覧のとおり、その特定のスポットに色を付けることができませんでした。言い換えれば、そのスポットに関連するビューが見つかりません。

セルからそのシェーディングを削除するにはどうすればよいですか?

4

1 に答える 1

3

テーブルビューは、指定した色を使用しているため、各セクションの背後にあるグラデーションを再開しています。

代わりにbackgroundView、テーブルビューのプロパティを使用します。画像を使用して画像ビューを作成し、これを背景ビューとして設定するか、上記のように背景色でUIViewを作成します。

他の場所で背景色を設定しているコードをすべて削除し、セクションヘッダービューの背景がクリアであるか、背景が対照的であることを確認する必要があります。

簡単なデモンストレーションとして、背景色をクリアに設定したグループ化されたテーブルビューとviewDidLoad、テーブルビューコントローラーの次のコードを作成しました。

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIView *backgroundView = [[UIView alloc] initWithFrame:self.tableView.bounds];
    CAGradientLayer *layer = [CAGradientLayer layer];
    layer.colors = [NSArray arrayWithObjects:(id)[UIColor redColor].CGColor,(id)[UIColor whiteColor].CGColor, nil];
    layer.frame = backgroundView.frame;
    [backgroundView.layer addSublayer:layer];
    self.tableView.backgroundView = backgroundView;
}

これにより、次のようになります(確かに、かなり醜いです!)。細胞はこの上に「浮かんで」います。

ここに画像の説明を入力してください

于 2012-05-31T17:41:56.600 に答える