我正在使用 x-code 在 cocoatouch 下编程。
我在 ViewDidLoad 函数中添加了很多 UIImageViews [self.view addSubview:test];
。
如果web上的信息发生变化,UI上的UIImageViews应该被其他的替换(删除原来的并添加新的)。有什么典型的方法吗?
如何重绘视图?如何移除已经被 addSubView 方法加载的 UIImageViews。
非常感谢!
我正在使用 x-code 在 cocoatouch 下编程。
我在 ViewDidLoad 函数中添加了很多 UIImageViews [self.view addSubview:test];
。
如果web上的信息发生变化,UI上的UIImageViews应该被其他的替换(删除原来的并添加新的)。有什么典型的方法吗?
如何重绘视图?如何移除已经被 addSubView 方法加载的 UIImageViews。
非常感谢!
根据 Apple 的UIView
文档,您应该使用setNeedsDisplay。
将您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];
}