1

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

在此处输入图像描述

彩色部分代表一个图像视图。UIImageView似乎悬垂在单元格的边缘。

但据我所知,这实际上是整个牢房。我知道单元格有多个不同的视图,如内容、背景,但不知道如何实现。

我曾在 IB 中尝试过,但我认为这太习惯了。如何创建一个像这样带有悬垂的单元格和单元格的自定义布局。

4

2 回答 2

3

您不能将子视图设置在UITableViewCell框架之外。

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

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

我假设这个灰色是你的颜色UITableView

这是具有清晰彩色背景的单元格的图片

在此处输入图像描述

UIView2)在您的自定义单元格内,在单元格边缘放置一个带有填充的白色,模拟您的原始单元格,如下所示:

在此处输入图像描述

3)然后,只需根据需要添加其余的子视图。您可以在模拟原始单元格的白色 UIView 的上方而不是内部添加。它看起来像这样:

在此处输入图像描述

编辑

回答你的最后一个问题。好吧,在这种情况下,您必须创建自己的自定义选择。幸运的是,这非常简单。

首先,我假设你有一个UITableViewCell. 因此,只需IBOutlet在您的 customCell 中为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]是正常状态颜色。显然,您可以将其更改为您喜欢的任何其他颜色。

于 2013-09-14T01:40:42.440 回答
0

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

于 2013-09-14T00:45:08.060 回答