从 NSArray 创建自定义无序列表

create custom unordered list from NSArray

我正在尝试构建自定义无序列表(带有自定义复选标记 "bullets")。此列表的数据是包含 NSStringNSArray

我的想法是向 UIView 添加多个子视图(基于 xib 文件)。 xib 文件有一个 UIImageView(复选标记)和一个 UIlabel(用于设置文本)。

我尝试遍历 NSArray,并将自定义 UIView 添加到列表容器:

for (id line in currentDeal.dealDescriptionArray) {
    NSLog(line);

    CustomLineView *specView = [[[NSBundle mainBundle] loadNibNamed:@"customLineView" owner:self options:nil] objectAtIndex:0];
    specView.specLabel.text = line;
    [listContainer addSubview:specView];

}

但是,这只显示了数组的最后一项,我想我只是在添加指向同一对象的指针,但我不知道如何创建 "new" 个实例。

有人知道如何解决这个问题吗?

您正在创建新实例,只是没有对它们进行定位,因此它们都在彼此之上(因此实际上您只能看到最后一个)。

要么在添加为子视图之前设置框架,要么在添加为子视图之后添加约束,以便适当地布局视图。您可以通过在循环中递增 img 计数器来表示父视图中的位置偏移来执行此操作。