2010-09-03 80 views
0

是否有可能確定是否顯示uiview obj。想象一下:您在uiscrollview中有2個uiviews。現在您將按照第一個視圖切換到第二個視圖。現在第一個視圖不在視口中。現在你要回到第一個觀點。現在我想通知這個視圖是在視口中,還是重新顯示。第二種觀點也一樣。我還沒有找到任何回調或類似的東西。確定是否顯示uiview

+0

你需要更具體。什麼手勢?我猜它是一個滑動。向左/向右滑動以將兩個視圖滑入和滑出框架? – 2010-09-03 09:24:26

+0

它必須獨立於手勢。如果視圖進入視口,我希望收到通知。 – 2010-09-03 09:41:43

回答

0

確保您的UiViewController覆蓋viewWillAppear :(在調用此方法之前)或viewDidAppear :(調用此方法之後)。

參見:http://developer.apple.com/iphone/library/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/viewWillAppear

+0

你就是這樣,但問題是,這種觀點是在一個圖書館交付給客戶。而客戶不應該這樣做。我知道有一種可能性來定義一個custome uiviewcontroller類,它將這樣做,所有的uiviewcontrollers都必須繼承它,但這對於應用程序員來說太過分了。他們只應該啓動uview並定義postioni。這就夠了。我認爲這是不可能的。 – 2010-09-03 09:38:50

0

這取決於你所說的 「開關」 的意思。如果一個視圖只是滾動到scrollview的可見區域外,但仍然作爲子視圖附加到視圖上,則可能需要檢查視圖的邊界是否與滾動視圖可見區域的邊界重疊。

您可以通過使用UIScrollView DelegatescrollViewDidScroll:方法來執行此操作,以在用戶滾動時執行重疊檢查。

但是,如果您的視圖實際上已從視圖中刪除,那麼您可能想要繼承UIView並實現willMoveToSuperview:以檢查視圖是否已再次添加到滾動視圖。

相關問題