设置特定的UITableViewCell布局

时间:2013-09-14 00:15:28

标签: ios ios6 uitableview

我正在尝试找到设置自定义UITableViewCell布局的最佳途径。这是我想要实现的布局。

enter image description here

色彩缤纷的部分代表了一个imageview。 UIImageView似乎过度悬挂了单元格的边缘。

但是从我能收集的内容来看,这实际上就是整个细胞。我知道单元格有多个不同的视图,如内容,背景,但不知道如何实现它。

我曾在IB尝试,但我认为这太习惯了。如何使用悬垂本身和单元格的自定义布局创建这样的单元格。

2 个答案:

答案 0 :(得分:3)

您无法在UITableViewCell框架中设置子视图。

这是一种简单的方法来做你想做的事情:

1)将自定义单元格的背景更改为[UIColor clearColor]。您可以在cellForRowAtIndexPath:方法的界面构建器中执行此操作。

我假设这种灰色是你UITableView的颜色。

这是具有清晰颜色背景的细胞的图片

enter image description here

2)在自定义单元格内,将带有填充的白色UIView放到单元格边缘,模拟原始单元格,如下所示:

enter image description here

3)然后,只需添加其余的子视图即可。您可以添加上面但不在白色UIView中,模拟原始单元格。它看起来像这样:

enter image description here

修改

回答你的上一个问题。那么,在这种情况下,您必须创建自己的自定义选择。幸运的是,这很简单。

首先,我假设你有一个UITableViewCell的子类。因此,只需在customCell中创建一个代表我们假单元格的白色IBOutlet UIView。我将此IBOutlet称为containerView

然后,覆盖自定义单元格中的方法setSelected:animated: ,并执行所需的所有自定义选择行为。一个简单的例子是这样的:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    self.selectionStyle = UITableViewCellSelectionStyleNone;
    self.containerView.backgroundColor = selected ? [UIColor blueColor] : [UIColor whiteColor];
}

在我的示例中,[UIColor blueColor]是选择单元格时的颜色,[UIColor whiteColor]是正常的状态颜色。显然,您可以将其更改为您喜欢的任何其他颜色。

答案 1 :(得分:0)

请参阅本教程:http://www.appcoda.com/customize-table-view-cells-for-uitableview/,我希望它有所帮助。