2014-11-05 80 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

相關問題