2012-06-01 60 views
1

在我的應用程序中,我只是使用典型的UIViewController方法來切換視圖。我沒有使用UINavigationController。不過,我真的需要使用UINavigationController所具有的visibleViewController API。visibleViewController不使用UINavigationController?

不,我不能將我的項目轉換爲使用UINavigationController。有什麼辦法來檢查我的應用程序中的另一個UIViewController是否是當前可見的控制器?

我使用addSubview和隱藏屬性切換視圖。 (我知道這不是切換視圖的正確方法)。

無論如何,在我的情況下,是否有可能做一些類似於visibleViewController?

謝謝!

回答

2

如果使用addSubview :,只有方法可以確定視圖層次結構中的頂視圖。您可以通過瀏覽根視圖的子視圖數組屬性來確定頂視圖。

UIView * topview = [[rootview subviews] lastObject];

如果你想得到類似於visibleViewController的東西,你應該存儲一個映射,以保持UIView和UIViewController之間的關係。因此,您可以通過首先創建topview來獲取visibleViewController,然後創建相應的視圖控制器。

祝你好運!

0

有2種方法:

  1. 添加子視圖成的ViewController然後使用以下方法以使一個前:

    [self.view bringSubviewToFront:aView];

  2. 可以保持的appDelegate視圖控制器的實例,則它們中的一個使用以下代碼RootViewController的設置:

    self.window.rootViewController = self.viewController;

相關問題