在加载 ViewController 之前加载 MapView

Posted

技术标签:

【中文标题】在加载 ViewController 之前加载 MapView【英文标题】:Loading MapView before ViewController is loaded 【发布时间】:2013-12-06 17:56:56 【问题描述】:

我正在用MKMapView 编写一个iPhone 应用程序,但在mapView 打开之前,您必须先点击viewController 中的一个按钮。

是否可以在实际调用viewController/点击按钮之前加载mapView,以便在用户看到它时不必加载mapView

如果有机会... 是如何工作的?

谢谢! :)

【问题讨论】:

发布您在按钮操作选择器方法中的代码以及您的viewDidload 按钮通过storyboard链接到VC,里面有MKMapView!所以选择器方法中实际上没有代码。'viewDidLoad'只有一行代码:self.mapView.delegate = self; 【参考方案1】:

不要在按钮操作方法中创建您的mapView 对象,而是将所有这些mapView 相关代码移动到-viewDidLoad-viewWillAppear。 然后它将与视图本身一起加载,您无需单击任何按钮即可显示mapView

编辑:根据您的 cmets) 由于您希望 2 个viewControllers 一起处于活动状态,请查看以下链接:http://www.jacopretorius.net/2013/04/using-multiple-viewcontrollers-on-a-single-screen-in-ios.html

这与使用addChildViewController有关

【讨论】:

不!我的意思是:我有 2 个 VC,其中一个是 MapView 中的按钮!我的问题是,如果有机会,加载 MapView,而带有按钮的 VC 在屏幕上! @MyJBMe : 这是在 iPad 还是 iPhone 上? @MyJBMe :添加了可能有帮助的答案链接

以上是关于在加载 ViewController 之前加载 MapView的主要内容,如果未能解决你的问题,请参考以下文章

Swift:如何在实例化 viewController 之前加载 Firebase 数据?

在显示之前将 ViewController 加载到 ContainerView 中,因此没有可见的过渡

Swift - 如何在加载 ViewController 之前正确实现 CoreData 的更新/设置

通用应用加载不同的视图

在 viewController 中重新加载 tableView

直接从主 ViewController 加载另一个 UIView