将重叠的UIViewController置于前面

时间:2013-01-20 00:08:59

标签: ios uiviewcontroller containment uimodalpresentationstyle

我目前在我的iPhone应用程序中同时有三个视图控制器。
我使用slidingView

这是我的形象:

enter image description here

当我点击表格视图单元格时,我想打开一个像这样的新视图控制器:

enter image description here

(鸡蛋代表一个新的视图控制器。

但是你可以看到我的橙色视图控制器在前面。

如何更改此内容?

我用来打开egg-viewcontroller的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIViewController *boxView = [self.storyboard instantiateViewControllerWithIdentifier:@"BoxView"];
    boxView.modalPresentationStyle = UIModalPresentationFormSheet;
    boxView.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    boxView.view.frame=CGRectMake(-50, 5, 300, 470);
    [self.view addSubview:boxView.view];
    //[self.view bringSubviewToFront:boxView];

}

1 个答案:

答案 0 :(得分:0)

应该很容易,您需要父视图控制器(即橙色控制器)来添加新视图控制器的子视图。您通常可以[self.parentViewController addSubview:boxView.view]执行此操作。但由于您使用的是ECSlidingViewController,您可以这样做: [self.slidingViewController.topViewController.view addSubview:boxView.view]

当然,您需要相应地调整新的ViewController框架。