如何在iOS中显示屏幕时如何判断?

时间:2012-02-27 14:58:58

标签: ios uiviewcontroller

我有一个简单的标签栏导航应用

-------------------
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|                 |
|       (o)       |
|                 |
[ Tab 1 ]_[ Tab 2 ]

触摸标签1时,显示屏幕1。按下Tab 2时,会显示屏幕2。

如何在每次显示屏幕时调用操作(不仅仅是viewDidLoad事件)。

我是否必须在标签栏上听取触摸事件,或者我可以收听ViewController中的事件?

2 个答案:

答案 0 :(得分:5)

当nib被加载到内存中时,会调用

viewDidLoad。当视图实际上在屏幕上出现时,viewDidAppear会被调用。

[编辑]

这是回调的(自然)顺序: initWithNibName:Bundle: -> awakeFromNib -> loadView -> viewDidLoad -> viewWillAppear -> viewDidAppear

[EDIT2]

请点击此处查看优秀解释:https://stackoverflow.com/a/5109277/347353

答案 1 :(得分:2)

您可以使用viewWillAppearviewDidAppear

  1. viewWillAppear

      

    通知视图控制器其视图即将添加到视图层次结构中。

  2. viewDidAppear

      

    通知视图控制器其视图已添加到视图层次结构中。