同一个nibLoaded自定义视图的多个实例

时间:2012-11-13 17:04:13

标签: cocoa-touch

我用Nib创建了一个视图。 我想添加此子视图的多个实例,但只显示我添加的最后一个实例。

NSArray * nibArray = [[NSBundle mainBundle] loadNibNamed:@"SBFiveBarCountView"
                                                   owner:self
                                                 options:nil];

SBFiveBarCountView * fiveBarCount1 = (SBFiveBarCountView *)[nibArray objectAtIndex:0];
fiveBarCount1.frame = CGRectMake(22, 15, 16, 57);

SBFiveBarCountView * fiveBarCount2 = (SBFiveBarCountView *)[nibArray objectAtIndex:0];
fiveBarCount2.frame = CGRectMake(45, 15, 16, 57);

[self.view addSubview:fiveBarCount1];
[self.view addSubview:fiveBarCount2];

执行此操作后,实际上只有fiveBarCount2添加到视图

我做错了什么?

由于

1 个答案:

答案 0 :(得分:0)

您将同一个对象分配给两个不同的变量。也就是说,无论你怎么命名,它都是数组位置零的对象。

由于loadNibNamed:是创建对象的新实例的方法(在数组内),因此您需要再次调用它来获取不同的SBFiveBarCountView对象。