0

アプリが VC1 ロード (ViewController 番号 1) をロードするときに UITabBar を使用するアプリケーションがありますが、この正確なビューコントローラーには VC2 にあるマップを必要とするボタンがありますが、ユーザーが tabBar VC2 の 2 番目のボタンをクリックしなかった場合ロードされていないため、マップさえありません! [(VC2 *) [self.tabBarController.viewControllers objectAtIndex:1] viewDidLoad] を使用しようとしましたが、その後 VC2.mapView はまだ nil です。その状況でそのマップビューにアクセスするにはどうすればよいですか?

4

1 に答える 1

0

コントローラー配列の参照が正しいと仮定すると、次のような VC1 のコードを使用してビューを強制的にロードできるはずです。

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

その時点で、VC2 のビューとサブビューが初期化され、参照が有効になります。

于 2012-04-26T18:09:03.087 に答える