0

.xib ファイルからロードするカスタム UITableViewCell があります。.xib の .m では、contentView に追加するいくつかの追加の UI 要素 (imageview など) を読み込んでいます。

[self.contentView addSubview:myImageView];

ただし、行を選択すると、セル全体の上ではなく、myImageView の下に .selectedBackgroundView が表示されます。

selectedBackgroundView を一番上に戻すか、UI 要素の順序が正しく設定されていることを確認するにはどうすればよいですか?

参考までに、init で .xib をロードする方法を次に示します。

cellLoader = [UINib nibWithNibName:@"MasterTableViewCell" bundle:[NSBundle mainBundle]];

および cellForRowAtIndexPath で:

MasterTableViewCell *cell = (MasterTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"MasterTableViewCell"];
if (cell == nil) {
    NSArray *topLevelItems = [cellLoader instantiateWithOwner:self options:nil];
    cell = [topLevelItems objectAtIndex:0];

    UIView *v = [[UIView alloc] init];
    v.backgroundColor = [UIColor blackColor];
    cell.selectedBackgroundView = v;
}
return cell;

皆さんありがとう

4

0 に答える 0