如何在单击某些按钮时刷新UIViewController视图

时间:2012-11-07 13:01:13

标签: iphone objective-c ios

我正在开发一个iPhone应用程序,我的AppDelegate.i中有一个UINavigationControlller在其他视图上有刷新按钮。按钮上有一个IBAction方法。我正在使用此代码

 [AppDelegate.navigationController.topViewController.view setNeedsDisplay];

我的问题是我如何刷新我的页面(重新加载)点击这些按钮,setNeedsDisplay方法不称为视图生命周期方法,例如。 viewDidLoad中,viewWillAppear中

我做得对吗还是有办法做我做的事情?

先谢谢。

2 个答案:

答案 0 :(得分:2)

您应该编写一个方法(或两个或更多)来刷新您需要的数据,而不是重新加载viewController。 这样可以避免在以后添加函数时出现附带问题。

答案 1 :(得分:0)

setNeedsDisplay不会调用视图控制器生命周期方法,例如viewDid / Will ... - 您在UIView上调用setNeedsDisplay,而不是在UIViewController上调用。

setNeedsDisplay触发重绘UIView及其子视图; 在视图的drawRect中放置一个断点:按下按钮时会看到它被击中。