0

我用 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实际添加到视图中

我究竟做错了什么?

谢谢

4

1 回答 1

0

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

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

于 2012-11-13T17:39:20.030 回答