Iphone 解除模态视图控制器时,底层UIScrollView将调整为全屏

Iphone 解除模态视图控制器时,底层UIScrollView将调整为全屏,iphone,ios,uiscrollview,modalviewcontroller,Iphone,Ios,Uiscrollview,Modalviewcontroller,我有一个布局,上面有一个自定义状态栏(在苹果的状态栏下面),然后是一个代码> uISCRoVIEWS/,它在中间部分从左到右,然后在底部有一些自定义按钮,有一个 uiVIEW/COD>。简单的三窗格布局,效果非常好。但是,下视图上的三个自定义按钮会显示一个ModalViewController,当该按钮被取消时,它会将中间的UIScrollView调整为全屏,并将其显示在前面,覆盖我拥有的其他两个视图 还有一些人注意到了这种行为,但似乎他们给出的唯一答案是将UIScrollView重新调整到原始

我有一个布局,上面有一个自定义状态栏(在苹果的状态栏下面),然后是一个<>代码> uISCRoVIEWS/<代码>,它在中间部分从左到右,然后在底部有一些自定义按钮,有一个<代码> uiVIEW/COD>。简单的三窗格布局,效果非常好。但是,下视图上的三个自定义按钮会显示一个
ModalViewController
,当该按钮被取消时,它会将中间的
UIScrollView
调整为全屏,并将其显示在前面,覆盖我拥有的其他两个视图

还有一些人注意到了这种行为,但似乎他们给出的唯一答案是将
UIScrollView
重新调整到原始坐标。当然,这会起作用,但对我来说,这似乎是一个黑客行为,我想知道幕后到底发生了什么,以及如何正确地纠正这个问题

具有相同明显问题的其他SO链接:


还有一些人注意到该行为只影响3.0及以上版本,所以我不确定这是否是一个“特性”,我只是不理解该行为应该做什么,或者做什么。如果有人能对此有所了解,我将不胜感激。

您是否尝试更改nib文件中的设置


检查nib中滚动视图的自动大小。

我也有同样的问题。 在模态视图的父视图中,我使用以下内容:

-(void)viewWillAppear:(BOOL)animated{
    [self.view setFrame:CGRectMake(0, 0, originalWidth, originalHeight)];
}
其中originalWidth和originalHeight是父视图的原始大小


它工作得很好,即使对我来说这听起来也像是一个黑客。

我更改了自动调整大小的设置,但它似乎没有改变任何东西。谢谢