Ios 正确调整iPhone 5屏幕的视图位置

Ios 正确调整iPhone 5屏幕的视图位置,ios,uiview,Ios,Uiview,我正在更新一个应用程序以在iPhone5屏幕上运行(同时保持原有的屏幕大小布局) 我有一个包含视图控制器主视图的xib文件,其中有一个水平滚动视图作为子视图。此滚动视图的高度在iPhone 5屏幕上垂直拉伸 我在xib中还有三个视图(用作滚动视图中的页面),它们被添加到滚动视图中。我已将最上面视图的所有支柱和弹簧设置为打开。我已将这些视图中子视图的所有支柱和弹簧设置为关闭 我的问题是子视图在iPhone5屏幕上的位置不正确。具体地说,我有一个图像视图,应该放在靠近视图顶部的位置,该视图将移动到底

我正在更新一个应用程序以在iPhone5屏幕上运行(同时保持原有的屏幕大小布局)

我有一个包含视图控制器主视图的xib文件,其中有一个水平滚动视图作为子视图。此滚动视图的高度在iPhone 5屏幕上垂直拉伸

我在xib中还有三个视图(用作滚动视图中的页面),它们被添加到滚动视图中。我已将最上面视图的所有支柱和弹簧设置为打开。我已将这些视图中子视图的所有支柱和弹簧设置为关闭

我的问题是子视图在iPhone5屏幕上的位置不正确。具体地说,我有一个图像视图,应该放在靠近视图顶部的位置,该视图将移动到底部(在其他子视图下面,当它们不应该重叠时)。在图像视图中将“上支柱”设置为“开”会使其保持在视图的顶部,但我希望它按照视图高度的变化成比例向下移动

在我的视图控制器的viewDidLoad中,我将页面添加到滚动视图中,如下所示:

_pageOne.frame = CGRectMake(0, 0, _scrollView.bounds.size.width, _scrollView.bounds.size.height);
[_scrollView addSubview:_pageOne];

_pageTwo.frame = CGRectMake(320, 0, _scrollView.bounds.size.width, _scrollView.bounds.size.height);
[_scrollView addSubview:_pageTwo];

_pageThree.frame = CGRectMake(640, 0, _scrollView.bounds.size.width, _scrollView.bounds.size.height);
[_scrollView addSubview:_pageThree];
在xib中为旧屏幕高度设置视图。我在调试器中检查了滚动视图是否已在viewDidLoad中拉伸

如何使子视图正确地重新定位



(移动对回答的评论的响应)

我通过在图像视图上设置顶部和底部支柱,打开垂直弹簧,并将图像视图的contentMode设置为UIViewContentModeCenter,实际上解决了我的问题

但我的观点是这样建立起来的:

这是iphone5的测试结果

我没有意识到我的图像视图正处于视图的顶部。我试着将图像视图向下移动一点,关闭所有的支柱和弹簧,一切都开始按预期运行:


是否使用自动调整大小的遮罩或布局约束?尝试在图像视图上设置底部支柱,并关闭图像视图的所有其他支柱和弹簧。如果设置底部支柱,则在视图调整大小时,图像视图与其超级视图底部保持固定的垂直距离(在本例中,超级视图为第一页)。但这不是我想要的行为。我希望图像视图根据superview高度的变化按比例重新定位。然后您应该关闭所有支柱和弹簧。酷。这是我的下一个建议,但你首先明白了