每次显示视图时运行方法 - iOS

时间:2014-04-17 09:52:09

标签: ios objective-c methods viewdidload

我知道您可以在加载视图时使用ViewDidLoad运行某些代码。然而,这只发生一次。如何在每次显示视图时运行方法。例如:让我们说你当前在ViewController A中并按下UIButton转到ViewController B.然后按一个按钮返回ViewController A,那么你将如何重新运行ViewDidLoad代码?

我希望我的问题有道理。本质上,我希望每次用户在特定的ViewController上重新运行一个小方法。

谢谢你的时间,Dan。

3 个答案:

答案 0 :(得分:8)

  

viewWillAppear中:

     

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

  

viewDidAppear:

     

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

答案 1 :(得分:0)

这个答案没有帮助。我发现自己处于同样的情况,解决方案很简单。

  1. 创建一个包含每次视图 controllerA 出现时要执行的代码的方法。
  2. 将您的方法放在 viewDidAppear() 下
  3. 确保您的 viewcontrollerB 的模态类型设置为全屏(全屏从堆栈中删除 viewcontrollerA)
  4. 在viewcontrollerB下viewDidLoad() 将其背景设置为除透明以外的其他颜色。白色对我有用
  5. 从您的 viewControllerB 中关闭并“瞧!”

答案 2 :(得分:0)

创建一个每个视图控制器都继承自该控制器的 AbstractController,并覆盖 viewDidLoad 方法并使其在每个视图打开时执行您想要的操作。