2012-06-24 46 views
0

我正在使用x代碼在cocoatouch下編程。如何在coco-touch iOS中重繪視圖?

我通過[self.view addSubview:test];在ViewDidLoad函數中添加了很多UIImageViews。

如果Web上的信息發生更改,UI上的UIImageView應該被其他的替換(刪除原來的並添加新的)。有沒有什麼典型的方法來做到這一點?

如何重繪視圖?如何刪除已通過addSubView方法加載的UIImageView。

非常感謝!

+0

你想重繪視圖,還是改變視圖層次? – JustSid

+0

改變視圖層次結構,因爲點擊UIImageView時的某些操作也會發生更改。 – sxingfeng

回答

0

將您的UIImageView s存儲在一個數組中。這樣,您可以稍後輕鬆訪問它們,將它們從視圖中移除。

在MyViewController.h:

@interface ResultsViewController { 
    NSMutableArray *myImageViews; 
} 

在MyViewController.m:

- (void)viewDidLoad { 
    // Initialize image views 
    UIImageView *imageView = ... 
    [self.view addSubview:imageView]; 
    [myImageViews addObject:imageView]; 
} 

// Some action is called 
- (void)somethingHappens { 
    // Remove imageViews 
    for (UIImageView *imageView in myImageViews) { 
     [imageView removeFromSuperView]; 
    } 

    // Empty myImageViews array 
    [myImageViews removeAllObjects]; 

    // Create new imageViews 
    UIImageView *imageView = ... 
    [myImageViews addObject:imageView]; 
}