3

我想知道是否有人对我遇到的问题有想法!

我有一个简单的 viewController,有一个自定义的 appDelegate.window.frame (0, 20, width, height),还有它自己的导航控制器。我实现了一个 UIButton,它呈现一个空的视图控制器。

UIViewController *v = [_controllersList objectAtIndex:indexPath.row];
        v.modalPresentationStyle = UIModalPresentationCurrentContext;
        [self presentViewController:v animated:YES completion:nil]; 

到目前为止,一切正常。如果我展示那个新控制器(一切都很好!)。当我关闭新视图时,我的原始视图控制器框架已以图形方式更改,但未以编程方式更改!

(结果是我的窗口粘在视图的顶部,并被裁剪,底部有 20 个黑色像素)。

4

4 回答 4

4

对我来说,解决方案是更改默认modalPresentationStyle属性:

v.modalPresentationStyle = UIModalPresentationOverFullScreen;

希望能帮助到你。

于 2016-01-24T23:35:44.500 回答
1

您可以从窗口 rootviewcontroller 显示视图控制器

[self.view.window.rootViewController presentViewController:v animated:YES completion:nil];
于 2014-01-29T19:50:59.353 回答
0

检查您的自动布局选项。可能是自动布局的问题。

于 2013-09-19T06:54:27.573 回答
-1

此解决方案将解决您的问题,当您关闭视图时,每次都会调用视图。

-(void)viewWillAppear:(BOOL)animated {  

  self.view.frame = [[UIApplication sharedApplication].keyWindow bounds];
}
于 2013-09-19T07:03:07.110 回答