2010-07-07 166 views
2

我有一个困境,在我需要创建任意数量的UIView对象。我有一个NSArray,我需要做的是为数组中的项目数量创建UIView对象,所以我从[NSArray count];方法得到一个int,所以我知道需要创建的对象的数量,但实现这个的方法有我难住了。我会包括一些psudocode下面试图越过什么,我需要做给:动态创建UIView对象

[UIView returnMultipleUIViewsForInt:[theArray count]]; 

显然是行不通的,但创建对象在运行时的任意量,这我可以工作的一些方法会很好。

因此,在短期:

我需要创建一定数量的基于阵列中的项目数UIViews的。 然后我需要访问创建的每个视图并将其用作可能使用的定期创建的视图,并将其中一个视图添加为不同视图的子视图。

回答

2
- (NSArray *)createNumberOfViews:(NSInteger)number 
{ 
    NSMutableArray *viewArray = [NSMutableArray array]; 
    for(NSInteger i = 0; i < number; i++) 
    { 
     UIView *view = [[UIView alloc] init]; 
     // any setup you want to do would go here, e.g.: 
     // view.backgroundColor = [UIColor blueColor]; 
     [viewArray addObject:view]; 
     [view release]; 
    } 
    return viewArray; 
} 
+0

太棒了!但是,我仍然需要访问这个数组中的每个视图,所以我们可以怎么说,将新视图数组中的每个视图添加为另一个视图的子视图,或者只是将此数组中的每个视图视为视图对象。 – 2010-07-07 16:17:54

+3

@Ollie:请阅读:1.再次回答,2. NSArray文档,3.任何编程手册上的循环章节。 – 2010-07-07 16:24:40

1
NSMutableArray *newViews = [NSMutableArray array]; 
for (int i=0; i<[theArray count]; ++i) { 
    UIView *view = [[UIView alloc] init]; 
    [newViews addObject:view]; 
    [view release]; 
}