重新加载当前ViewController的所有子视图

时间:2011-04-11 07:18:57

标签: iphone uiview reload subview

我有一种情况,我必须重新加载当前视图的所有子视图....我正在从界面构建器添加所有对象(如按钮,图像等).....

我想在用户点击按钮时重置这些子视图......

我试过了[self.view setNeedsDisplay];,但它不起作用。

有没有简单的方法可以做到这一点...

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

我不确定您的代码中发生了什么,但我猜 您应该以编程方式添加所有子视图并刷新按钮单击事件, 或者在viewDidAppear方法中编写代码。

答案 1 :(得分:0)

这可能对你有帮助。

一种方法是在UI方法上创建,为所需控制器设置默认值或必需值。并在按钮事件上调用它。

答案 2 :(得分:0)

重新加载它们听起来像是错误的事情。您可以通过将各种属性设置为默认值,以编程方式轻松将它们重置为默认状态。一旦你这样做,我可能只是以编程方式创建整个视图和子视图而不使用IB。我现在以编程方式执行所有操作,并且更容易维护我的代码。

您可以通过将所有受影响的子视图放在父UIView中并从NIB加载该父视图然后仅替换父UIView但我不推荐它来提出基于NIB的解决方案。如果视图控制器需要根据内存警告卸载/重新加载视图,您需要能够以viewDidLoad编程方式设置子视图属性。