2012-04-26 221 views
0

我有一個應用程序,當我的應用程序加載VC1加載時使用UITabBar(ViewController number 1),但我在這個精確的viewcontroller中有一個按鈕,需要一個在VC2中的地圖,但如果用戶從不點擊tabBar VC2上的第二個按鈕從未加載過,因此地圖甚至沒有!我嘗試使用[(VC2 *)[self.tabBarController.viewControllers objectAtIndex:1] viewDidLoad],但VC2.mapView仍然是零之後。任何想法我怎麼能在那種情況下到達那個mapview呢?訪問另一個viewController中的地圖

+0

這似乎更像是一個純技術性的設計問題。 VC1實際上試圖對地圖做什麼? – 2012-04-26 17:32:04

+0

我認爲這是無關緊要的,但我需要拍攝該地圖的打印屏幕,因此我需要將信息加載到它並打印屏幕......我知道我可以創建出VC1視圖框架,必須處理它,但這將使我不得不實施一些MK協議來將數據加載到新地圖中,我想避免它! – user1162866 2012-04-26 17:34:20

回答

0

假設控制器數組引用是正確的,你應該能夠強制視圖VC1使用如下代碼加載:

UIView *vc2MainView = [[self.tabBarController.viewControllers objectAtIndex:1] view]; 

此時爲VC2視圖和子視圖應該初始化和你的推薦人應該是有效的。

+0

O不知道我是否正確,但你是說通過創建一個指向視圖的指針它將被強制加載? – user1162866 2012-04-26 20:14:52

+0

從UIViewController類的引用的視圖屬性的文檔:「如果您訪問此屬性,它的值當前爲零,視圖控制器會自動調用loadView方法並返回結果視圖。」 – 2012-04-26 20:32:12

+0

嗯,我不確定它會解決我的問題,因爲我試圖自己使用viewDidLoad,而mapview仍然是零。我會盡快測試它。非常感謝你。 – user1162866 2012-04-26 21:01:25

相關問題