use*_*ser 3 cocoa-touch uinavigationcontroller ios ecslidingviewcontroller
我在我的应用程序中使用ECSlidingViewController进行侧抽屉效果.当我的初始视图加载时,有一个隐藏的视图控制器,在可见视图后面有一个MKMapView.需要从地图注释中删除,我不得不将我的地图视图控制器嵌入到导航控制器中.既然隐藏的视图控制器是导航控制器而不是地图视图,所以我的地图只有在导航控制器出现在屏幕上后才会初始化.因此viewDidLoad,在地图视图的CLLocationManager委托有时间响应位置之前,将调用设置区域的地图.
我需要同步实例化我的导航控制器和根视图控制器.我只是手动segue,但我猜'rootViewController'关系segue有我将绕过的实现细节.
这实际上非常简单,与segues无关.
我期待物体rootViewController上的物业,UINavigationController同时俯瞰@property UIViewController* topViewController.
所以在我的顶级(可见)导航控制器中viewWillAppear:
// Load the map's navigation controller from storyboard
MyMapNavigationController* mapNavigation = [self.storyboard instantiateViewControllerWithIdentifier:mapNavigtionIdentifier];
// ECSlidingViewController API to set hidden view controllers
self.slidingViewController.underRightViewController = mapNavigation;
// Grab root view controller
MyMapController* map = mapNavigation.topViewController;
// Slightly hacky magic
[map view]; //lazily instantiated property will initialize view and controller when called.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1880 次 |
| 最近记录: |