0

各セクションに1行あるグループ化されたテーブルビューがあります。セルの backgroundview をカスタム イメージに設定していますが、行が次のようにレンダリングされることを望みます。

ここに画像の説明を入力

しかし、次のようにレンダリングされます (影がないことに注意してください。フラットです)。

ここに画像の説明を入力

cellforRowAtIndexPath のコードは次のとおりです。

((UIImageView *)cell.backgroundView).image = [UIImage imageNamed:@"BGImage"];

BGImage は、この投稿の最初の画像で、影があります。ここで何が欠けていますか?

4

2 に答える 2

4

UITableViewの以下のデリゲートメソッドを使用してセルの背景を設定する必要があります:-

- (void)tableView: (UITableView*)tableView
  willDisplayCell: (UITableViewCell*)cell
forRowAtIndexPath: (NSIndexPath*)indexPath
{
            UIImage *img = [UIImage imageNamed:@"yourImage.png"];  // get your background image
            UIColor *backgroundColor = [[UIColor alloc] initWithPatternImage: img];
            cell.backgroundColor = backgroundColor;
            cell.textLabel.backgroundColor = [UIColor clearColor];
            cell.detailTextLabel.backgroundColor = [UIColor clearColor]; 

}

あなたの問題はあなたのイメージHeight widthとあなたの細胞height widthが同じではないかもしれません

セルに設定された以下の影付きの画像を使用して、プロジェクトセットで上記の方法を使用しています:-

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

そしてそれはプロジェクトのように見えます:-

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

于 2013-03-05T06:16:56.017 に答える
0
  1. あなたの影はあなたのイメージの一部でなければなりません。
  2. 高さと幅を適切に設定する必要があります。
  3. カスタムを作成することをお勧めしますUITableViewCell
  4. 背景画像をセルに追加します。確実に影が映ります。
于 2013-03-05T06:30:43.930 に答える