0

我在网上看到了这个设计图片,我真的很困惑,我怎么能制作一个有多个字幕的 UITableCell 并允许我按照图片所示的方式自定义它们。

我的理解是每个单元格只能使用 1 个字幕。

有没有办法创建一个看起来像这样的 UITable 单元格?您将如何继续在单元格标题下制作这 4 个字幕???

在此处输入图像描述

4

4 回答 4

1

您可以通过为 UITableViewCell 自定义布局来轻松做到这一点。该视频应该可以帮助您做到这一点:

http://www.youtube.com/watch?v=d_kO-J3DYvc

基本上,您需要在 storyboard/NIB 文件中设计单元格的 UI,并在那里为您的表格单元格添加多个标签。子类 UITableViewCell 并将其链接到 storyboard/NIB 中设计的 UITableViewCell。在该类中为标签添加 IBOutlets,并将您的标签从 UI 链接到这些 IBOutlets。

于 2013-05-19T12:44:45.023 回答
1

从提供的图像来看,原型似乎UITableViewCell包含 1UIImageView和 5 UILabels。假设您使用 IB 或故事板创建表格视图单元格,请将“表格视图样式”设置为自定义,然后将 aUIImageView和 5 UILabels 拖到原型单元格上。对于每个UILabels,根据需要调整它们的位置、字体和字体大小。您可能还需要调整单元格的高度。

于 2013-05-19T12:46:15.420 回答
1

嘿,我创建了一个关于自定义单元的示例项目,检查我创建的这个github链接。我用过故事板。这是示例应用程序的屏幕截图 在此处输入图像描述

于 2013-05-19T13:31:59.387 回答
0

只需继承 UITableViewCell,并添加多个 UILabel。然后覆盖 layoutSubviews 方法来定位这些标签。然后在 cellForRow 中,确保实例化您的子类 UITableViewCell。我没有时间检查这个,但子类看起来像:

    @interface CustomCell : UITableViewCell {
        UILabel *myCustomLabel1;
    }
    @end
    @implementation CustomCell

    - (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
        if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
            // Initialization code

            myCustomLabel1 = [[UILabel alloc] initWithFrame:CGRectZero];
            [self.contentView addSubview:myCustomLabel1];
        }
        return self;
    }

    -(void)layoutSubviews
    {
        [super layoutSubviews];
        float margin = 5;
        [myCustomLabel1 setFrame:CGRectMake(self.bounds.origin.x+margin, self.bounds.origin.y, self.bounds.size.width - (2*margin), self.bounds.size.height)];

    }

    @end
于 2013-05-19T12:41:41.990 回答