【发布时间】:2014-11-01 11:19:36
【问题描述】:
我在 viewController.view 中添加了大约 500 个视图。 这个动作在目标上花费了大约 5 秒。 现在我希望在添加每个子视图后刷新屏幕,这样用户就会看到它们一一出现在屏幕上。
我在我的 viewController 中试过这个:
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
for(int i=0; i<500; i++)
{
//...Create aView
[self.view addsubview:aView];
[self.view setNeedsDisplay];
}
}
我运行它,5 秒钟内什么也没发生,然后所有视图立即出现。 我确保从主线程上下文中调用了 [self.view setNeedsDisplay]。
知道如何让这些子视图一一出现吗?
【问题讨论】:
-
您应该阅读
setNeedsDisplay的文档。它不会强制重绘,也不应该。 -
根据您想要实现的视觉效果,计时器、运行循环和动画是其他值得研究的好主题。
标签: ios objective-c iphone addsubview setneedsdisplay