iOS5中的modalPresentationStyle在模态视图中不工作

iOS5中的modalPresentationStyle在模态视图中不工作,ios,ipad,ios5,Ios,Ipad,Ios5,我想使用iOS5中UIView的presentModalViewController方法在iPad上显示一个弹出窗口 即使我将modalPresentationStyle设置为UIModalPresentationFormSheet,它也只显示为全帧大小 我以前在iOS4中使用过相同的代码,它可以显示为一个弹出窗口。如何在iOS5中修复它 DetailViewController *d = [[DetailViewController alloc] initWithNibName:nil bu

我想使用iOS5中UIView的presentModalViewController方法在iPad上显示一个弹出窗口

即使我将modalPresentationStyle设置为UIModalPresentationFormSheet,它也只显示为全帧大小

我以前在iOS4中使用过相同的代码,它可以显示为一个弹出窗口。如何在iOS5中修复它


DetailViewController *d = [[DetailViewController alloc] initWithNibName:nil bundle:nil];
self.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController:d animated:YES];
谢谢。

你试过了吗

d.modalPresentationStyle = UIModalPresentationFormSheet;
而不是

self.modalPresentationStyle = UIModalPresentationFormSheet;

在iOS5中,模式视图应按如下方式使用


DetailViewController*d=[[DetailViewController alloc]initWithNibName:nil bundle:nil];
UINavigationController*navigationController=[[UINavigationController alloc]initWithRootViewController:d]
navigationController.modalPresentationStyle=UIModalPresentationFormSheet; [自我呈现ModalViewController:navigationController动画:是]


请给我们看一下您正在使用的代码好吗?代码添加在原始帖子中。它崩溃了。不管怎样,我自己解决了这个问题。谢谢。请将解决方案作为答案发布。此答案具有误导性。不需要额外的UINavigationController层。您的代码中可能有一个bug,因为DetailViewController依赖于包含在UINavigationController中,这就是@KIDdAe的建议导致它崩溃的原因。

DetailViewController *d = [[DetailViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:d];
navigationController.modalPresentationStyle = UIModalPresentationFormSheet; [self presentModalViewController:navigationController animated:YES];