访问另一个viewController中的地图
我有一个应用程序,当我的应用程序加载VC1加载时使用UITabBar(ViewController number 1),但我在这个精确的viewcontroller中有一个按钮,需要一个在VC2中的地图,但如果用户从不点击tabBar VC2上的第二个按钮从未加载过,因此地图甚至没有!我尝试使用[(VC2 *)[self.tabBarController.viewControllers objectAtIndex:1] viewDidLoad],但VC2.mapView仍然是零之后。任何想法我怎么能在那种情况下到达那个mapview呢?访问另一个viewController中的地图
假设控制器数组引用是正确的,你应该能够强制视图VC1使用如下代码加载:
UIView *vc2MainView = [[self.tabBarController.viewControllers objectAtIndex:1] view];
此时为VC2视图和子视图应该初始化和你的推荐人应该是有效的。
O不知道我是否正确,但你是说通过创建一个指向视图的指针它将被强制加载? – user1162866 2012-04-26 20:14:52
从UIViewController类的引用的视图属性的文档:“如果您访问此属性,它的值当前为零,视图控制器会自动调用loadView方法并返回结果视图。” – 2012-04-26 20:32:12
嗯,我不确定它会解决我的问题,因为我试图自己使用viewDidLoad,而mapview仍然是零。我会尽快测试它。非常感谢你。 – user1162866 2012-04-26 21:01:25
这似乎更像是一个纯技术性的设计问题。 VC1实际上试图对地图做什么? – 2012-04-26 17:32:04
我认为这是无关紧要的,但我需要拍摄该地图的打印屏幕,因此我需要将信息加载到它并打印屏幕......我知道我可以创建出VC1视图框架,必须处理它,但这将使我不得不实施一些MK协议来将数据加载到新地图中,我想避免它! – user1162866 2012-04-26 17:34:20