UIViews在segue之后移动并返回

时间:2015-05-21 11:06:08

标签: ios objective-c xcode uiview ios8

我有一个应用程序,我正在创建一个堆叠在彼此之上的两个视图:

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 200)];
UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 200, self.view.frame.size.width, self.view.frame.size.height -200)];
[self.view addSubview:headerView];
[self.view addSubview:bottomView];

[headerView setBackgroundColor:[UIColor lightGrayColor]];
[bottomView setBackgroundColor:[UIColor redColor]];

我还使用了一个侧面菜单:

[self.sideMenuViewController setContentViewController:[[UINavigationController alloc] initWithRootViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"welcomeScreen"]]
                                                     animated:YES];
[self.sideMenuViewController hideMenuViewController];

初始加载很好,顶视图和底视图都按预期显示,但是,当我使用侧面菜单导航然后使用侧面菜单导航回到主页时,两个视图似乎都向上移动(在导航后面)巴)。

我已经尝试了从编程约束到检查导航栏是否存在以及将代码从viewDidLoad移动到viewDidAppear所能想到的一切,但我总是得到相同的结果。关于发生了什么以及为什么会有任何想法?任何有关修复的建议都将不胜感激。感谢

1 个答案:

答案 0 :(得分:0)

if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) { 
self.edgesForExtendedLayout = UIRectEdgeNone;
}

修复了问题!