UIScrollView的内容驳回ModalViewController后移(Contents of

2019-06-26 21:05发布

我有一个分页滚动视图。 每一页都有一个管理按钮的网格视图 - 控制(buttonViewController)。 如果按一个按钮,在弹出buttonViewController了另一个视图 - 控制(detailViewController)模态。

问题是,当我解雇模态视图控制器,可见buttonViewController是由什么看起来像约20像素下移。 奇怪的是,只有可见页面被转移。 如果我滚动到已加载其他页面,它仍然是在正确的位置。

我的问题是基本相同驳回modalViewController四处移动iphone主视图按钮

但是,接受这个问题的答案假设状态栏被隐藏。 我不是藏在我的应用程序的状态栏。

任何其他的想法?

还要说明一点:这种转变只发生在我第一次推出一个模式视图控制器。 如果我一直开闭模态视图控制器,一切都保持不变。

一条进一步指出:如果我添加以下代码:

    CGRect frame = self.view.frame;
frame.origin.y=0;
self.view.frame = frame;

之后我解雇模态视图控制器,然后我就可以解决这个问题。 该框架似乎在Ÿ20pixels移动。 我仍然不知道,虽然是什么引起的举动。

Answer 1:

好吧,我有这个问题,它给我的第一个的viewController成立(在一个UIWindow)的方式,这是非常奇怪的,因为这从来没有发生在我身上,我观察的行为是,当你添加一个子视图是由于点(0,0),将与状态栏,这是不平常重叠,一般的看法了解状态栏和他们的行为适当。 作为一个副作用,当一个人推说需要关闭状态栏,驳回之后,我看见你看到了同样的问题,一个模式的看法。 我所做的修复是设置UIWindows查看我的控制器在笔尖看来,这似乎解决了一切。 再一次,我不知道为什么简单地增加以编程CGRectMake(0,0,320,460)窗口有这个奇怪的行为,因为我一直在为我所有以前的项目这样做,看到正确的行为。 但是,当我在笔尖设置它,它的工作如预期。 也许这是你的问题也是如此。



Answer 2:

原来,这是涉及到: 当分页滚动视图滚动ModalViewController动画过程中不显示

我已经不匹配我的一些viewcontrollers的高度,而被扔一切都关掉。

有些观点具有高度460pixels,一些原本480像素。 出于某种原因,这使得它通过20pixels移位evertime模态的视图控制器消失。 有一次,我做的一切460pixels,一切伟大的工作。



文章来源: Contents of UIScrollView shifted after dismissing ModalViewController