1

我有一个 UIScrollView 通过 Interface Builder 添加和定位,作为导航控制器堆栈上的视图控制器的一部分。当我将一个新的视图控制器推送到堆栈上,然后弹出该新的视图控制器时,原始视图中的 UIScrollView 已经向上漂移了 52 个像素。

这只发生在设备上,而不是模拟器上。

有什么想法可能导致这种情况吗?我可以通过调用 viewWillAppear/viewWillAppear 中的重新定位来追溯修复它,但由于某些原因,在极少数情况下,即使这不起作用,所以我真的很想解决根本原因。谢谢!

回应评论请注意:我将导航栏隐藏在推送的视图控制器中,而不是原始视图控制器中。另请注意,原始视图控制器上还有其他几个 UIView 元素,但只有 UIScrollView 移动了位置。

更新:不在推送视图控制器中隐藏导航栏对 UIScrollView 问题没有影响 - 但感谢评论者的建议。

4

1 回答 1

0

修复:如果导航栏隐藏在视图控制器上,并且您不希望任何子视图(您通过 Interface Builder 添加)以意想不到的方式自动重新定位,请确保子视图上的支柱设置为固定.

于 2012-06-30T18:23:03.433 回答