2016-07-23 76 views
0

我正在爲其他應用程序創建一個框架來使用它。我想找到顯示給用戶的顯示更改時間。這些變化包括添加和刪除子視圖,向下滾動,添加文本等。有什麼方法可以直接檢查屏幕上顯示的內容何時發生變化。上述問題是問題的一部分。如何檢測在視圖層次結構中任何位置添加的子視圖(包括子視圖)?

+0

我想你可以在做出這些更改時發送通知,並將偵聽器添加到您希望它監聽更改的viewController。 – Elena

+0

嗨@Elena,謝謝你的回覆。這正是我想要的。如果你能給我提供一些僞代碼,甚至可以幫助我完成代碼的結構和功能,那將是非常有幫助的。 –

+0

Ok @Adit,我假設你需要檢測另一個控制器中的內容更改,但是在你的問題中沒有明確說明。那麼你能否解釋一下究竟在哪裏以及爲了什麼目的你需要知道所做的更改?這會讓我更容易幫助你 – Elena

回答

-1

你的解釋後,我只想做這樣的事情:

class MyViewController:UIScrollViewDelegate{ 

    func addSubview(){ 

     self.takeSnaphot() 

    } 


    func scrollViewDidScroll(scrollView:UIScrollView){ 

     self.takeSnaphot() 
    } 


    func takeSnaphot(){ 

     //the code to take snaphots 

    } 
} 
+0

可能有應用程序不會有ScrollView,只是多頁面的應用程序。在這種情況下,我不確定是否依靠這一點會有所幫助。有沒有辦法在運行時調用addsubview或movetowindow函數? –

+0

這只是您需要了解相同控制器中事件的情況的一個示例。如果您希望另一個控制器知道您發送通知的事件 – Elena

0

你的意思是viewDidLoad

該函數首次被調用後,所有視圖的加載都與ViewTreeObserver.OnGlobalLayoutListener相同。

相關問題