セルの数が「n」のテーブルビューがあります。問題はセルの背景画像にあります。
UITableViewCellのアップルのドキュメントが具体的に次のように述べているという事実を私はすでに知っています:
注:セルの背景色を変更する場合(UIViewで宣言されたbackgroundColorプロパティを使用してセルの背景色を設定することにより)、tableViewではなくデリゲートのtableView:willDisplayCell:forRowAtIndexPath:メソッドで変更する必要があります。 :cellForRowAtIndexPath:データソースの。
上記の説明はここでも見ることができます
しかし、私の懸念はセルの色を変更することではなく、セルの背景画像を設定することです。私たちが知っているように、背景色プロパティを使用して背景画像を設定できます。
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:kCellIdentifier] autorelease];
cell.backgroundColor = [[UIColor alloc]initWithPatternImage:[UIImage imageNamed:@"buttonbg.png"]];
}
しかし、背景画像をテーブルビューセルに設定するために背景色を使用しても機能せず、画像を変更しようとして色を変更しようとすると、データソースメソッド(インデックスパスの行のセル)で上記のメソッド/プロパティが機能しないのはなぜですか)。
また、驚いたことに、画像ビューを使用し、セルの背景ビューとしてビューを設定すると完璧に機能することがわかりました。同じことが、このリンクでAmmyWorral氏によって提案されています。すなわち:
UIImage *cellImage = [UIImage imageNamed:kCellImage];
UIImageView *cellImageView = [[UIImageView alloc]initWithImage:cellImage];
[cell setBackgroundView:cellImageView];
しかし、私の疑問は、なぜ背景画像がセルの背景色法で機能しないのかということです!
これについていくつかの説明が必要です!
よろしくお願いします:)