0

我正在使用 x-code 在 cocoatouch 下编程。

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

如果web上的信息发生变化,UI上的UIImageViews应该被其他的替换(删除原来的并添加新的)。有什么典型的方法吗?

如何重绘视图?如何移除已经被 addSubView 方法加载的 UIImageViews。

非常感谢!

4

2 回答 2

1

根据 Apple 的UIView文档,您应该使用setNeedsDisplay

于 2012-06-24T08:29:35.803 回答
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];
}
于 2012-06-24T08:27:04.977 回答