带有内容的表格视图单元格被白色覆盖?

Posted

技术标签:

【中文标题】带有内容的表格视图单元格被白色覆盖?【英文标题】:Tableview cell with content is overlaid with white? 【发布时间】:2013-11-10 12:55:07 【问题描述】:

:)

我的表格视图有问题。所有包含任何内容的单元格都被白色覆盖:(

如果我按住一个单元格,我可以看到单元格标签、图像等;浅灰色(这很好)。 如果我松开(停止按住它),单元格将按应有的方式推送到下一个视图。

我忘记了什么?为什么我的细胞被白色覆盖?这适用于 ios 6 :-)

(对不起,我的英语不好,屏幕截图也带有丹麦文字;-))

我在 .h 中的代码:

#import <UIKit/UIKit.h>

@interface SkabelonerViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 

@private
NSMutableArray *tableData;
NSDictionary *selectedItem;



// Tableview stuff
@property (strong, nonatomic) IBOutlet NSArray *tabelData;
@property (strong, nonatomic) IBOutlet UITableView *tableView;

我的代码在.m下

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath


UITableViewCell *cell = nil;
cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (cell == nil)

    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];


UIButton *deleteButton;
deleteButton = [UIButton buttonWithType:UIButtonTypeCustom];
deleteButton.frame = CGRectMake(650, 10, 30, 30);
UIImage *image = [UIImage imageNamed:@"Trash.png"];
[deleteButton setImage:image forState:UIControlStateNormal];

[deleteButton addTarget:self action:@selector(deleteTemplate:) forControlEvents:UIControlEventTouchUpInside];
deleteButton.tag=indexPath.row;
[cell.contentView addSubview:deleteButton];

// create the label objects
UILabel *sletLabel = [[UILabel alloc] initWithFrame:CGRectZero];
sletLabel.backgroundColor = [UIColor clearColor];
//sletLabel.font = [UIFont boldSystemFontOfSize:12];
[sletLabel setFont:[UIFont boldSystemFontOfSize:12]];
sletLabel.frame = CGRectMake(654,41,25,21);
sletLabel.text =  @"Slet";
sletLabel.textColor = [UIColor whiteColor];
[cell.contentView addSubview:sletLabel];

NSDictionary *dic = [tableData objectAtIndex:indexPath.row];

cell.textLabel.text = [dic valueForKey:@"templatename"];

cell.accessoryView = [[ UIImageView alloc ]

                      initWithImage:[UIImage imageNamed:@"Right-hvid"]];

cell.textLabel.textColor = [UIColor whiteColor];
cell.selectionStyle = UITableViewCellSelectionStyleGray;

[self.tableView setBackgroundColor:[UIColor colorWithRed:37 green:37 blue:37 alpha:0]];

NSString *templateID = [dic valueForKey:@"templateid"];

deleteButton.hidden = NO;
sletLabel.hidden = NO;

return cell;

【问题讨论】:

【参考方案1】:

看看这个问题:UITableView clear background 在 iOS 7 中 UITableViewCells 的默认背景颜色从 clearColor 更改为 whiteColor 由于性能原因。

如有必要,您应该更改您的cell.contentView.backgroundColor = [UIColor clearColor]

【讨论】:

如果它不是那么大并且单元格高度计算很简单,您可以使用[self.tableView reloadData]reloadRowsAtIndexPaths:withRowAnimation: 1 或更多行。但请务必先更新您的数据源 你好。首先;谢谢你之前帮我解决了我的问题! :) 不幸的是,我遇到了另一个问题 :( 我在单元格中有一个按钮,当我按下按钮时,我需要给定单元格的 index.row 按钮所在的位置。我找到了一个项目 (roostersoftstudios.com/2011/05/01/…),但是它也不起作用 :( 似乎 iOS7/xCode 5 是问题所在。你知道我该如何解决这个问题吗?再次感谢你!-Mikkel Vesterled,15 岁 ;-) 打开一个新问题并分享您的代码。这样未来的寻求者就会看到正确的问题和正确的答案! 我刚刚做了 ;-) ***.com/questions/19892477/…

以上是关于带有内容的表格视图单元格被白色覆盖?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置表格视图单元格之间的空间并删除背景内容视图的白色

点击单元格显示下面的视图

带有表格视图的 UIPageViewController,在 UITableView 内

表格视图单元格内的 UIImage

UIButton 在单元格被触摸时也会突出显示

从 xib 错误加载表格视图中的单元格