模态视图控制器使背景黑色

时间:2012-06-06 05:34:54

标签: objective-c xcode modalviewcontroller

我正在从视图控制器启动模态视图控制器。除了父视图控制器变黑之外,模态视图控制器中的所有内容都显示正常。取消模态视图控制器时,将绘制父级。任何人都可以指出我哪里出错了吗?这是我正在使用的代码:

modalVC.modalPresentationStyle = UIModalPresentationFormSheet;
self.navigationController = [[UINavigationController alloc] initWithRootViewController: modalVC];

[currentViewController presentModalViewController: self.navigationController animated: YES];
self.navigationController.view.frame = CGRectMake(200, 200, 320, 540);

2 个答案:

答案 0 :(得分:2)

我终于找到了问题。这是我的错。

这是罪魁祸首:

self.navigationController.view.frame = CGRectMake(200, 200, 320, 540);

应该是:

self.navigationController.view.superview.frame = CGRect(200,200,320, 540);

答案 1 :(得分:0)

这是因为这条线。

modalVC.modalPresentationStyle = UIModalPresentationFormSheet;

来自UIViewController Class Reference(强调我的):

  

UIModalPresentationFormSheet

     

呈现视图的宽度和高度小于屏幕的宽度和高度,视图以屏幕为中心。如果设备处于横向方向且键盘可见,则向上调整视图的位置以使视图保持可见。 所有未覆盖的区域都会变暗以防止用户与其进行互动。