我有一个UIViewController,它首先设置视图并在-(void)viewDidLoad
和HTTPrequests的回调中初始化一些HTTPRequests,这是一堆UIImageViews和UILabels等动态放入UIView的地方(它们是在addSubview
)之后立即创建和发布的。
我想要的是我的ViewController在用户按下主页按钮并再次打开应用程序时使用更新的图像/文本“刷新”。我从
开始[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationBecomeActive) name:UIApplicationDidBecomeActiveNotification object:nil];
测试方法运行正常,但我仍然坚持使用显示新数据的最佳方式。
我想到为每个可能改变的对象添加标签,然后像这样改变它,但这似乎是一个管理噩梦。我读到[self.view setNeedsDisplay]
,但我认为这不适用于我的情况
答案 0 :(得分:0)
setNeedsDisplay将刷新已存在的UIView。如果你有一个可见的UIImageView,更改它包含的图像,然后调用[theImageView setNeedsDisplay]它会做你想要的。
您是否真的需要以编程方式始终创建一堆新的UIImageViews,或者在更改所显示的图像时是否可以永久地创建一些UIImageView?
如果确实需要删除UIImageViews并在父视图中放置新的UIImageViews,也可以将它们添加到像NSMutableArray或NSSet这样的容器中。然后,您可以遍历容器的图像视图,将它们从父视图中分离出来,从容器中删除它们然后释放它们。