2014-11-05 78 views
1

我正在做一个应用程序,每次一个UIViewController完成加载,就有一个线程采取当前可见的ViewController的屏幕截图。 我有40多个ViewControllers。 如何检测ViewContrller完成的加载。 我不想为每个“ViewDidLoad”添加该函数。 谢谢。如何检测UIViewController完成加载?

+0

为什么你需要将它添加到每个单独的'-viewDidLoad'方法?你有没有听说过_继续_? – holex 2014-11-05 17:09:17

+0

如果我使用继承,超类完成加载并不意味着子类完成加载。该函数在父加载完成后需要截屏,它不会等待子加载完成。 – Albert 2014-11-05 17:11:48

回答

1

最明显且可维护的方法是创建你自己的UIViewController的子类,它在ViewDidLoad中执行此操作,然后将所有视图控制器更改为这个新子类的实例。

+0

但超类完成加载并不意味着子类完成加载。 – Albert 2014-11-05 17:09:12

+0

我想也许你误解了子类是如何工作的。 viewDidLoad事件一次只发生一次。如果其中一个视图控制器不覆盖viewDidLoad,则超类实现将运行。如果它重写了viewDidLoad,则第一行应该(几乎总是)说'[super viewDidLoad];'在执行任何特定于子类的行为之前运行超类实现。最近的XCode分析仪甚至会警告您,如果您将此调用留给超类。 – RobP 2014-11-05 17:11:36

+0

ahhhh,好的,我明白了,谢谢。 – Albert 2014-11-05 17:13:44

相关问题