添加具有非透明背景的子视图控制器

时间:2014-04-16 00:26:38

标签: ios uiviewcontroller

我正在尝试添加一个视图控制器,使用xib文件初始化到控制器的子视图控制器属性。

self.categoryViewController = [[CategoryPickerViewController alloc] init];

[self addChildViewController:self.categoryViewController];
[self.navigationController pushViewController:self.categoryViewController animated:NO];

然而,当推动视图时,即使我在界面构建器中专门设置了视图的尺寸,它也会在宽度和高度上展开。

这导致我的视​​图显示在黑色背景上。

enter image description here

是否有任何特定选项可确保加载的视图维护IB中设置的尺寸并确保透视背景。

高度设置为360,但是当我记录frame.size.height时,它显示为504

2 个答案:

答案 0 :(得分:0)

使用self.categoryViewController = [[CategoryPickerViewController alloc] initWithNibName:@"CategoryViewController"]

答案 1 :(得分:0)

您需要创建自定义视图控制器转换,这在iOS 7中并不太糟糕。您在iOS中可以执行的所有标准,开箱即用的内容都不允许您正确使用提供具有透明度的视图控制器或不占用整个视图(在iPhone上)。

我建议您查看http://www.objc.io/issue-5/view-controller-transitions.htmlhttp://www.teehanlax.com/blog/custom-uiviewcontroller-transitions/,了解如何进行自定义转换的示例。