从NSArray创建自定义无序列表

时间:2015-04-30 06:29:23

标签: objective-c uiview xib addsubview

我正在尝试构建自定义无序列表(自定义复选标记为“项目符号”)。此列表的数据为NSArray,其中包含NSString s。

我的想法是将多个子视图(基于xib文件)添加到UIView。 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];

}

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

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你正在创建新的实例,你只是没有定位它们所以它们都是彼此重叠的(所以实际上你只能看到最后一个)。

在添加为子视图之前设置框架,或者在添加为子视图后添加约束以便适当地布置视图。您可以通过在循环中增加img一个计数器来表示父视图中的位置偏移量。