在其他语言中,我可以执行以下操作:
for(int i = 0; i < numObjects; i++)
{
Object obj = new Object();
UI.Display(obj.text = array[i]);
}
我将得到一个显示多个具有不同文本的对象。
但是,当在 Xcode 4+ 中使用 ARC 进行 Objective-C 编程时,没有“新”初始化程序。所以当我做类似的事情时:
for(NSString *s in testArray) {
NSArray nibObjects = [[NSBundle mainBundle] loadNibNamed:@"Page" owner:self options:nil];
UIView subview = [nibObjects lastObject];
... //Add some custom images or text
[scrollView addSubview:subview];
}
我只得到一个观点。我假设是因为它仍在引用相同的内存位置。当我在具有 5 个不同视图的滚动视图中使用它时,只有最后一个有效。其余为空白。
关于我应该如何在滚动视图中重用自定义笔尖布局的任何建议?随着我添加的数字发生变化,它需要是动态的。
-编辑-
再次尝试没有结果
for (int i = 0; i < 4; i++) {
NSArray *nibObjects = [[NSArray alloc]init];
nibObjects = [[NSBundle mainBundle] loadNibNamed:@"Page" owner:self options:nil];
//Move frame location
CGRect frame;
frame.origin.x = scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = scrollView.frame.size;
UIView *subview = [[UIView alloc] initWithFrame:frame];
subview = [nibObjects lastObject];
[scrollView addSubview:subview];
}
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * 4, scrollView.frame.size.height);