解除模态视图控制器时,基础UIScrollView会调整为全屏

时间:2012-02-16 08:14:45

标签: iphone ios uiscrollview modalviewcontroller

我的布局顶部有一个自定义状态栏[位于Apple的状态栏下方],然后是一个UIScrollview,它在中间部分从左到右分页,然后我有UIView一些底部的自定义按钮。所以这是一个简单的三层布局,效果很好。但是,下方视图中的三个自定义按钮会显示ModalViewController,当它被取消时,它会将中间UIScrollView调整为全屏,并将其显示在前面,覆盖另外两个我拥有的观点。

还有其他几个人已经注意到这种行为,但似乎他们给出的唯一答案是将UIScrollView重新调整回原始坐标。当然,这会起作用,但对我来说似乎是一个黑客攻击,我想知道幕后的真实情况,以及如何正确纠正这个问题。

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

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

2 个答案:

答案 0 :(得分:5)

我有完全相同的问题。 在模态视图的父级中,我正在使用它:

-(void)viewWillAppear:(BOOL)animated{
    [self.view setFrame:CGRectMake(0, 0, originalWidth, originalHeight)];
}

其中originalWidth& originalHeight是我父视图的原始大小。

它工作正常,即使它听起来像是对我的黑客攻击。

答案 1 :(得分:1)

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

检查笔尖中滚动视图的自动调整大小。