我是iOS开发的新手,我被困住了。目前,我使用一个选项卡控制器在两个视图控制器(列表和映射视图)之间切换。这使得使用故事板来配置两个视图的外观变得更容易。
现在需求已经改变了,应用程序需要有一个带有分段控件的视图控制器,在单击时,显示列表或地图视图。为了做到这一点,我需要做一个可以显示列表/地图视图的视图控制器。
我知道分段控制器部分是如何工作的,但我只是被困在如何让两个视图显示在同一区域。如何在一个视图控制器中拥有两个视图(如果可能,使用故事板)?
提前感谢!
发布于 2012-08-28 01:51:14
使用storyboard api,您可以在2个viewControllers之间切换
- (void)viewDidLoad {
[super viewDidLoad];
UIViewController *viewController = [self viewControllerForSegmentIndex:self.typeSegmentedControl.selectedSegmentIndex];
[self addChildViewController:viewController];
viewController.view.frame = self.contentView.bounds;
[self.contentView addSubview:viewController.view];
self.currentViewController = viewController;
}
- (UIViewController *)viewControllerForSegmentIndex:(NSInteger)index {
UIViewController *viewController;
switch (index) {
case 0:
viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"FirstViewController"];
break;
case 1:
viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
break;
}
return viewController;
}
- (IBAction)segmentChanged:(UISegmentedControl *)sender {
UIViewController *viewController = [self viewControllerForSegmentIndex:sender.selectedSegmentIndex];
[self addChildViewController:viewController];
[self transitionFromViewController:self.currentViewController toViewController:viewController duration:0.0 options:UIViewAnimationOptionTransitionNone animations:^{
[self.currentViewController.view removeFromSuperview];
viewController.view.frame = self.contentView.bounds;
[self.contentView addSubview:viewController.view];
} completion:^(BOOL finished) {
[viewController didMoveToParentViewController:self];
[self.currentViewController removeFromParentViewController];
self.currentViewController = viewController ;
}];
self.navigationItem.title = viewController.title;
}这是在参考Raywenderlich的iOS tutorial。希望这能有所帮助
https://stackoverflow.com/questions/12146722
复制相似问题