UITableViews (グループ化およびプレーン) のセルの背景 (カスタムまたは標準) に関するさまざまな問題に関する投稿が多数ありますが、この特定の問題についての言及は見つかりません。
基本的に、グループ化されたスタイルの UITableView があります。
問題:カスタム セルの背景を透明にすることができません。
カスタム セルを実装する前のテーブルビューは次のようになります (つまり、これは通常のグループ化されたテーブル ビューです)。
標準、通常のグループ化されたテーブルビュー。偉大な。しかし、カスタムセルが必要です。
そこで、次のようなカスタム セルを作成しました。
この階層では:
そして、このセルのバックグラウンド メタデータ:
残念ながら、背景を白、透明、または黒に変更しても、何をしても違いはありません。テーブルビューは次のようになります。
(これはテーブル ビューの背景です。つまり、これらのセルは透明になりました)。
そしてもちろん、セルに追加したビューの背景を変更することでこれを解決することはできません。なぜなら、すべてがこのように見えるからです (丸みを帯びた角がないことに注意してください)。
これは明らかに醜く、受け入れられません。
標準のデフォルトセルのように、セルの背景を通常の白い背景にするにはどうすればよいですか?? 奇妙なことは、先週のアプリで、まったく同じ手順に従ってカスタムセルを作成したところ、それらの背景がうまく白くなったことです。
ここで何を見逃したのですか?必要なのは、グループ化されたテーブル ビューの湾曲した上隅と下隅に一致する白い背景を持つカスタム セルだけです。他の実装で白い背景を見たことがあるので、カスタム セルで可能であることはわかっています。しかし、ここで何かがうまくいきません!
どんなコードでも喜んで投稿しますが、何が必要で何が必要なのかわからないだけです。これが私の cellForRowAtIndexPath メソッドです (これは単なる tableView:cellForRowAtIndexPath のコア データ バージョンです:):
- (UITableViewCell *)tableView:(UITableView *)tableView cellForManagedObject:(NSManagedObject *)managedObject
{
static NSString *ReuseIdentifier = @"customSummaryCell";
CustomSummaryTableViewCell *cell = (CustomSummaryTableViewCell *)[tableView dequeueReusableCellWithIdentifier:ReuseIdentifier];
if (cell == nil) {
NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomSummaryTableViewCell" owner:nil options:nil];
for (id currentObject in nibObjects) {
if([currentObject isKindOfClass:[CustomSummaryTableViewCell class]])
{
cell = (CustomSummaryTableViewCell *)currentObject;
}
}
}
cell.leftLabel.text = @"Some data";
cell.rightLabel.text = @"Some Info";
return cell;
}
私のクラスファイルは基本的に変更されていないはずですが、ここにあります。カスタム セル クラスの .h ファイル:
輸入
@interface CustomSummaryTableViewCell : UITableViewCell {
IBOutlet UIView *backgroundView;
IBOutlet UILabel *leftLabel;
IBOutlet UILabel *rightLabel;
}
@property (nonatomic, retain) IBOutlet UIView *backgroundView;
@property (nonatomic, retain) IBOutlet UILabel *leftLabel;
@property (nonatomic, retain) IBOutlet UILabel *rightLabel;
@end
そして .m ファイル:
import "CustomSummaryTableViewCell.h"
@implementation CustomSummaryTableViewCell
@synthesize backgroundView;
@synthesize leftLabel;
@synthesize rightLabel;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
- (void)dealloc
{
[leftLabel release];
[rightLabel release];
[backgroundView release];
[super dealloc];
}
@end
xib のセルのクラスを CustomSummaryTableViewCell に変更したことに注意してください。
ここで何か助けていただければ幸いです。問題が何であるかがわからず、これが私を夢中にさせています!!
前もって感謝します。