0

我在我的 viewController 中创建了一个模式对话框。

dialogViewController *dialog = [[dialogViewController alloc] init];

dialog.modalPresentationStyle = UIModalPresentationFormSheet;
dialog.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
dialog.indexPath = indexPath;
dialog.campaignArray = self.campaignArray;

dialog.view.superview.frame = CGRectMake(dialog.view.superview.frame.origin.x+250, dialog.view.superview.frame.origin.y, dialog.view.superview.frame.size.width-250, dialog.view.superview.frame.size.height);

[self presentViewController:dialog animated:YES completion:nil];

以上更改了模态对话框的宽度,但不更改 x 位置。它在 modalDialog 中工作,但随后用户可以看到它正在调整大小。

4

2 回答 2

0

如果你想使用

UIModalPresentationFormSheet

控制器将居中。其中包含非常具体的格式。如果你想要任何不同的东西,你将不得不建立自己的。

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

于 2013-04-17T13:24:35.173 回答
0

尝试这个:

dialogViewController *dialog = [[dialogViewController alloc] init];

dialog.modalPresentationStyle = UIModalPresentationFormSheet;
dialog.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
dialog.indexPath = indexPath;
dialog.campaignArray = self.campaignArray;

[self presentViewController:dialog animated:YES completion:nil];

CGRect dlgFrame  = dialog.view.superview.frame;
dlgFrame.size.width -= 250.0;
dialog.view.superview.frame = dlgFrame;
于 2013-04-17T13:30:34.850 回答