2010-07-07 122 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]; 
}