iOS – 使用故事板和自动布局中心的UIScrollView

我正在使用故事板和自动布局创buildiOS应用程序,以便在iPhone4和iPhone5上都能正常工作。 以下是我使用故事板创build的视图的屏幕截图。

在这里输入图像说明

在上面的图片中,我想保持在超视图的前沿和右表视图中间的滚动视图。 我不希望滚动视图在iPhone5中增加其宽度。 我尝试了不同的约束组合,但是我无法实现。

可以有人build议我什么是所有的限制,我已经设置为滚动视图,以便它在中心。

您需要通过在屏幕上添加额外的视图来完成此操作。

目前你有…

- UIView (main view) | | - scrollView | - tableView 

你应该把滚动视图在另一个视图像这样…

 - UIView (main view) | | - UIView (spacer View) | | - scrollView | | - tableView 

现在你可以做的是有这些限制…

 spacer view leading edge constraint to super view = 0 spacer view trailing edge to table view leading edge = 0 table view width = (whatever the width is) table view trailing edge to super view = 0 

这将布置间隔视图和表视图,以便间隔视图将增长。

现在你需要添加…

 scroll view width = x scroll view height = y scroll view centered vertically in super view scroll view centered horizontally in super view. 

现在,因为滚动视图的超级视图是间隔视图,所以它将始终位于表视图和空间的其余部分之间。

如何将故事板上的视图居中

这个答案已经更新为Xcode 8。

这个答案适用于那些正在做一般search的人们如何使用故事板来集中事物,而不理解约束条件。

我假设你正在使用故事板(不是XIB文件)和自动布局。 这是现在的默认设置,所以如果你不知道这意味着什么,那就别担心了。 但是,如果您想检查,则可以在Project Navigator中单击Main.storyboard,然后单击文件检查器。 您可以确保选中使用自动布局:

在这里输入图像说明

在故事板上select你的button(或任何想要居中的视图)。 然后点击右下方的alignmentbutton。 select“容器中的水平”和“容器中的垂直”。 点击“添加2约束”。

在这里输入图像说明

如果它不是完美的中心,你可能需要做更多的事情。 单击alignmentbutton左侧的两个“更新框架”button。 现在你的观点应该集中在故事板上。

在这里输入图像说明

更重要的是,现在当你运行你的应用程序,它应该居中,不pipe你使用什么样的设备大小。

我最初从创build用户界面 – 自动布局中学到了这一点。 基本的想法还是一样的,但是现在Xcode的界面布局有了一些变化。

也可以看看

  • 如何以编程方式设置约束