我有一个UITableView
,其中有几个静态单元格部分都在我的storyboard文件中设置。
我的问题是:如何将其中一个单元格的颜色设置为透明? 我已经尝试使用在视图下选择的单元格进入检查器>背景并将其设置为>清除颜色,但这样做会使单元格呈现“清晰”颜色,但单元格的边框仍然可见: ,
有人可以帮助我在没有边界的情况下实现这一目标吗?感谢
****编辑****我尝试将alpha级别设置为0,但这似乎没有影响。
我也试图实现以下内容,但我得到与上图相同的结果:
_topCell.backgroundColor = [UIColor clearColor];
我也尝试过实施:
self.tableView.separatorColor = [UIColor clearColor];
并得到以下结果:
请忽略将标题与描述分开的垂直线,即带有垂直线图像的UIImageView
。
只是为了给你们一个想法,我这样做是因为最终我正在寻找一个清晰/干净的单元格,以添加一些圆形的矩形按钮,例如“短信”,“分享联系人”和& “添加到收藏夹”按钮如下所示:
答案 0 :(得分:7)
在视图控制器中:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor clearColor];
cell.layer.backgroundColor = [UIColor clearColor];//optional
cell.backgroundView = nil;
}
只有当您使用图案图片(discussed here)设置自定义表背景颜色时,才会显示注释为“可选”的行。
当然,如果您只想将其应用于特定单元格,则需要将这些语句放在if
块中。
答案 1 :(得分:2)
我实现了类似的功能,只是滥用部分和部分页脚。对应该组合在一起的每个重要行集使用部分(这是单元格样式的“分组”点)
例如,您可以创建一个枚举来跟踪它们:
enum Sections
{
SectionName,
SectionPhone,
SectionAddress,
// etc...
SectionCount
};
然后,正常使用这些部分:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return SectionCount;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == SectionName)
{
return 2; // First name, last name
}
else if (section == SectionPhone)
{
return 1; // Just his phone number
}
else if (section == SectionAddress)
{
return 4; // Country, State, Street, Number
}
// etc...
}
要获得“动作”,您可以添加与特定部分相关的动作,然后只需添加两个方法
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return 52;
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
// Only the Address has action buttons, for example
if (section != SectionAddress)
{
return nil;
}
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 64)];
UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
UIButton *button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
UIButton *button3 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button1 setTitle:@"Action 1" forState:UIControlStateNormal];
[button2 setTitle:@"Action 2" forState:UIControlStateNormal];
[button3 setTitle:@"Action 3" forState:UIControlStateNormal];
button1.frame = CGRectMake(8, 8, 96, 44);
button2.frame = CGRectMake(button1.frame.origin.x + button1.frame.size.width + 8, 8, 96, 44);
button3.frame = CGRectMake(button2.frame.origin.x + button1.frame.size.width + 8, 8, 96, 44);
[view addSubview:button1];
[view addSubview:button2];
[view addSubview:button3];
return view;
}
返回具有独立按钮的视图。
答案 2 :(得分:0)
cell.backgroundColor = [UIColor colorWithRed:1 green:1 blue:1 alpha:0.35];