uinavigationcontroller在弹出时更新上一个视图

时间:2011-05-30 22:01:03

标签: button uinavigationcontroller reload back

我有一个UINavigationController,我从Level1到Level2,在那里我选择一个行/项目;然后我回去使用后退按钮 - 但是 - 在我的等级1中我显示了一个默认选择(我通过转到Level2并选择其他内容而改变了) - 而我的等级1根本没有改变所以我想这是viewDidLoad不再被调用...如何强制重新加载?

非常感谢

干杯 geebee

EDIT1: 我知道你是对的,但是它不起作用 - 如果它与所有关于可重复使用的细胞的东西有关,那么我自己也在吵架,所以它不会重新加载......这可能吗?更多的想法

EDIT2: 事实上,它没有工作意味着我将所有代码(我实际上将其移动)从didLoad复制到viewWillAppear - 这是正确的做法吗? 或者应该尝试在正确的地方更新我的nsmutablearray? 谢谢。干杯

编辑3:事实上,在我的代码中添加一些标志/消息以了解正在发生的事情,尽管在重新显示时调用了viewWillAppear,但是不会“重新绘制/刷新”可见单元格。因此,如果我向下滚动然后向上滚动,神奇地改变正在运行并且出现但是我希望这一切从一开始就发生。任何想法请帮助。谢谢

3 个答案:

答案 0 :(得分:3)

在UIViewController的生命周期内,

-viewDidLoad只被调用一次。在请求视图控制器视图后立即调用它,例如通过访问其view属性。因此,在您的情况下,您希望将重新加载代码放在-viewWillAppear:中。每次显示视图控制器的视图时都会调用此方法。

答案 1 :(得分:1)

您可以将更新代码添加到控制器的-viewWillAppear:方法

答案 2 :(得分:0)

但-viewWillAppear未在ios 4.3中调用,它确实在ios 5.0及更高版本中被调用