2012-06-24 5 views
0

Я программирую под cocoatouch, используя x-код.Как перерисовать вид в iOS?

Я добавляю много UIImageViews в функцию ViewDidLoad по [self.view addSubview:test];.

, и если информация о сети изменена, UIImageViews в пользовательском интерфейсе должны быть заменены другими (удалить исходные и добавить новые). есть ли типичный способ сделать это?

Как перерисовать вид? как удалить UIImageViews, который уже загружен методом addSubView.

Большое спасибо!

+0

Вы хотите перерисовать свой вид или изменить иерархию представлений? – JustSid

+0

изменить иерархию представлений, потому что некоторые действия при нажатии на UIImageView также изменены. – sxingfeng

ответ

0

Сохраните UIImageView с в массиве. Таким образом, вы можете легко получить к ним доступ позже, чтобы удалить их из своего представления.

В 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]; 
} 
Смежные вопросы