ContainerViewController addChildViewController与有线底部边距(64px)

时间:2017-09-28 12:40:30

标签: ios

当我使用uiviewcontroller作为containerViewController并使用方法“addChildViewController:”添加childVC。然后,会有一个下边距,例如image.I用“willMoveToParentViewController:”替换“addChildViewController:”来处理这个问题,但仍然不知道为什么。

- (void)viewDidLoad {
[super viewDidLoad];
// 默认显示第一个控制器
[self displayContentController:self.firstVC];
}

- (void)displayContentController: (UIViewController*) content {
// handle this problem with replacing method
[content willMoveToParentViewController:self];
// there will be wired bottom space (64px)
[self addChildViewController:content];
[self.view addSubview:content.view];
[content didMoveToParentViewController:self];
}

有线空间 Wired Space

2 个答案:

答案 0 :(得分:0)

可能属性 edgesForExtendedLayout 导致此问题self.edgesForExtendedLayout = UIRectEdgeBottom;了。尝试在 viewDidLoad

中将此代码添加到项目中

答案 1 :(得分:0)

调整子视图控制器(内容)的框架

content.view.frame = CGRect.init(x: 0,
                                 y: 0,
                             width: controller.view.frame.width,
                            height: controller.view.frame.height)

如果这不能解决您的问题,请使用Debug View Hierarchy enter image description here