改变模态对话框的大小

时间:2013-04-12 11:40:40

标签: ios objective-c modal-dialog

如何更改模态对话框的大小?为什么这不起作用?

SlingDialogViewController *slingDialog = [[SlingDialogViewController alloc] init];

    slingDialog.modalPresentationStyle = UIModalPresentationFormSheet;
    slingDialog.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    slingDialog.view.superview.frame = CGRectMake(0, 0, 900, 700);
    [self presentModalViewController:slingDialog animated:YES];

2 个答案:

答案 0 :(得分:1)

这样做:

SlingDialogViewController *slingDialog = [[SlingDialogViewController alloc] init];

slingDialog.modalPresentationStyle = UIModalPresentationFormSheet;
slingDialog.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

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

slingDialog.view.superview.frame = CGRectMake(0, 0, 900, 700);
slingDialog.view.superview.center = self.view.center;

至少根据我的经验,首先致电presentViewController:animated:completion非常重要。

答案 1 :(得分:0)

iOS中的模态控制器具有固定大小。我不建议尝试更改它们,它永远不会可靠。

解决方法是自己实现它。模态(呈现)控制器是一个非常简单的功能:

  1. 与您的演示控制器重叠的视图,因此无法点击(并且内容变暗使其看起来背景化)

  2. 将子视图控制器(及其视图)添加到控制器中。