Ios 模态视图的奇怪位置

Ios 模态视图的奇怪位置,ios,uinavigationcontroller,modalviewcontroller,Ios,Uinavigationcontroller,Modalviewcontroller,我通过将UIViewController推入navigationcontroller来呈现一次,通过初始化导航控制器的根视图来呈现另一次 第一种情况:作为导航控制器的第二张幻灯片 [self.navigationController pushViewController:riassunto animated:YES]; UINavigationController *navigationController = [[UINavigationController alloc] initW

我通过将UIViewController推入navigationcontroller来呈现一次,通过初始化导航控制器的根视图来呈现另一次

第一种情况:作为导航控制器的第二张幻灯片

 [self.navigationController pushViewController:riassunto animated:YES];
   UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:riassunto];

        navigationController.navigationBarHidden     = NO;
        [[navigationController navigationBar] setBarStyle:UIBarStyleBlack];
        [self presentViewController:navigationController animated:NO completion:nil];
第二种情况:作为模态视图的根

 [self.navigationController pushViewController:riassunto animated:YES];
   UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:riassunto];

        navigationController.navigationBarHidden     = NO;
        [[navigationController navigationBar] setBarStyle:UIBarStyleBlack];
        [self presentViewController:navigationController animated:NO completion:nil];
但观点的立场不同:

第一例

第二种情况


在第二种情况下(模态视图),视图似乎不会向下移动以腾出空间到顶部栏。为什么?

尝试在第二视图控制器中使用此选项:

riassunto.edgesForExtendedLayout = UIRectEdgeNone;
有关更多信息,我将扩展此答案:


事实上,默认情况下,iOS7视图占据了整个屏幕,因此您需要告诉它您不想调整视图的大小