更改模态对话框ios的大小

更改模态对话框ios的大小,ios,objective-c,modal-dialog,Ios,Objective C,Modal Dialog,如何更改模态对话框的大小?为什么这不起作用 SlingDialogViewController *slingDialog = [[SlingDialogViewController alloc] init]; slingDialog.modalPresentationStyle = UIModalPresentationFormSheet; slingDialog.modalTransitionStyle = UIModalTransitionStyleFlipHorizont

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

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];

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

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

  • 与演示控制器重叠的视图,因此无法单击该视图(并使内容变暗,使其看起来像背景)

  • 添加到控制器的子视图控制器(及其视图)


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

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

  • 与演示控制器重叠的视图,因此无法单击该视图(并使内容变暗,使其看起来像背景)

  • 添加到控制器的子视图控制器(及其视图)

  • 这样做:

    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很重要。

    执行以下操作:

    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
    很重要。

    我建议您阅读iOS的
    查看编程指南
    。您肯定走错了。我建议您阅读iOS的
    查看编程指南
    。你肯定走错方向了。对话框稍微向左,再向下。有没有办法把它抬高一点。我试着更改CGRect,还注释掉了view.superview.center=self.view.center,但没有成功。听起来你更多的是在横向跑步,而控制器认为这是纵向的。当设备处于纵向时,它看起来如何?你们的控制器允许多个方向吗?很抱歉回复晚了,但我是纵向运行的。对话框稍微向左,向下很远。有没有办法把它抬高一点。我试着更改CGRect,还注释掉了view.superview.center=self.view.center,但没有成功。听起来你更多的是在横向跑步,而控制器认为这是纵向的。当设备处于纵向时,它看起来如何?你们的控制器允许多个方向吗?很抱歉回复得太晚,但我是在纵向运行。