Objective c 模态视图控制器大小问题

Objective c 模态视图控制器大小问题,objective-c,ios,modalviewcontroller,uimodalpresentationstyle,Objective C,Ios,Modalviewcontroller,Uimodalpresentationstyle,我有一个视图控制器,我使用以下代码以模式呈现: about.modalPresentationStyle = UIModalPresentationFormSheet; [self presentModalViewController:about animated:NO]; about.view.superview.frame = CGRectMake( about.view.superview.frame.origin.x+110,

我有一个视图控制器,我使用以下代码以模式呈现:

about.modalPresentationStyle = UIModalPresentationFormSheet;             
[self presentModalViewController:about animated:NO];

about.view.superview.frame = CGRectMake( about.view.superview.frame.origin.x+110,
                                         about.view.superview.frame.origin.y-0,
                                         320.0f,
                                         460.0f
                                        );
现在,如果我使用相同的代码和相似的大小以模态方式呈现另一个视图控制器,那么一切都会正常工作

但是,如果我以模式呈现具有全屏大小的视图控制器,那么如果我回击(取消最后一个视图控制器),原始视图控制器的大小将增加。增加的大小是UIModalPresentationFormSheet的常规大小

换句话说:如上所述以模态方式呈现ViewController A,然后以模态方式呈现ViewController A中的另一个ViewController B。现在,如果B是全屏的,我们关闭它返回到ViewController A,A现在将调整为默认的帧大小。
我不知道如何解决这个问题。有人能提出解决方案吗?

我不知道为什么要移动模态视图的superview。但是你似乎用上面的代码来表示A中的B?因此,A将是B的superview,其大小将设置为320460。我想这就是A调整大小的原因。@Selkie:对模态视图的superview进行操作的决定是基于(您需要这样做才能使用PresentationFormSheet更改模态VC的框架)。@Selkie:另外,我正在调整大小到(320460),为什么它会变为liek(560650)(不是精确值)。