Ios 如何使应用程序集中在屏幕上和/或填充屏幕?

Ios 如何使应用程序集中在屏幕上和/或填充屏幕?,ios,xcode,swift,Ios,Xcode,Swift,我是Xcode新手,我有一个非常简单的布局,有一个正方形的ImageView,下面有两个按钮。我将它们包装在一个名为Box的UIView中(作为viewForZoomingInScrollView的子视图目标),它包装在一个ScrollView中 我尝试用SingleView模板以两种不同的方式构建它。在第一种方式中,我将ViewController的视图更改为ScrollView,如下所示 其次,我还尝试了在ViewController的视图中使用Scrollview,如下所示 在这两种情

我是Xcode新手,我有一个非常简单的布局,有一个正方形的ImageView,下面有两个按钮。我将它们包装在一个名为Box的UIView中(作为
viewForZoomingInScrollView
的子视图目标),它包装在一个ScrollView中

我尝试用SingleView模板以两种不同的方式构建它。在第一种方式中,我将ViewController的视图更改为ScrollView,如下所示

其次,我还尝试了在ViewController的视图中使用Scrollview,如下所示

在这两种情况下,一切正常或按预期进行,除了:在这两种情况下,整个ViewController都固定在屏幕的左上角,而不管方向或缩放级别如何

*天哪,我在一天内解决了所有的资源管理和行动问题,现在我已经花了将近一个星期的时间与布局作斗争*

当我没有约束条件时,如下所示:

应用程序是这样打开的。视图为黑色,ScrollView为紫色,长方体为灰色,ImageView为灰色

当我挤压它时,图像保持(反弹后)固定在左上角

如果我向ScrollView和Box添加居中约束

ScrollView的约束得到尊重,但Box的约束没有得到尊重。(实际上,当应用程序打开框填充ScrollView时,只有在挤压该框后才会进入左上角。滚动是否会破坏约束…?我是否必须将约束放入
ScrollViewDiEndZooming
?)

以下是我当前的子问题。当布局没有足够的约束时,它必须添加它们。它添加的约束是否优先于我的约束?有没有办法查看它添加了哪些约束?我在上面的限制条件下得到了这些警告

总体问题:我如何让它位于iOS屏幕的中心,或者填充整个屏幕?我想有一个界面构建器解决方案和一个代码解决方案,或者两者都会引起兴趣


感谢阅读。

尝试选择滚动视图,并在“自动观看”的“Pin”菜单中尝试添加这些约束


尝试选择您的滚动视图,并在autoLyout的Pin菜单中尝试添加这些约束


更改元素对齐方式

每个元素都需要有约束来概述它应该在其父元素中显示的位置。i、 现在你有一个图像,在一个视图中,在一个滚动视图中。因此,这三个元素中的每一个都需要设置约束

对于每个元素:

  • 单击元素
  • 单击右下角的“添加新对齐约束”按钮
  • 选中“容器中的水平”和“容器中的垂直”复选框,然后单击“添加2个约束”按钮
  • 运行你的应用程序,你现在应该看到图像在水平和垂直方向上都是中心对齐的


    动态更改元素大小 通过故事板也很容易做到这一点。此视频向您展示了如何执行此操作:
    唯一额外的事情是,您需要对每个元素执行此操作,如上所述

    更改元素对齐方式

    每个元素都需要有约束来概述它应该在其父元素中显示的位置。i、 现在你有一个图像,在一个视图中,在一个滚动视图中。因此,这三个元素中的每一个都需要设置约束

    对于每个元素:

  • 单击元素
  • 单击右下角的“添加新对齐约束”按钮
  • 选中“容器中的水平”和“容器中的垂直”复选框,然后单击“添加2个约束”按钮
  • 运行你的应用程序,你现在应该看到图像在水平和垂直方向上都是中心对齐的


    动态更改元素大小 通过故事板也很容易做到这一点。此视频向您展示了如何执行此操作:
    唯一额外的事情是,您需要对每个元素执行此操作,如上所述

    你增加了什么限制?问题可以不经解释就被否决,这不是很好吗?这确实鼓励使用Stackoverflow。出于某种原因,在第一种情况下,不需要约束。在第二个例子中,它抱怨,所以我添加了“建议的约束条件”。图像视图固定在长方体的顶部、右侧和左侧,按钮固定在长方体顶部和底部的图像视图上。若要使某些内容转到视图的中心,请使用两个约束。“将中心X与superview对齐”和“将中心Y与superview对齐”。如果希望它也填充视图,请在这两个常量中再添加两个常量。这些是“与超级视图等宽”和“与超级视图等高”,只需将一条线从子视图拖动到超级视图,您将看到一个添加所有这些特性的选项。您添加了哪些约束条件?问题可以在没有解释的情况下被否决,这不是很好吗?这确实鼓励使用Stackoverflow。出于某种原因,在第一种情况下,不需要约束。在第二个例子中,它抱怨,所以我添加了“建议的约束条件”。图像视图固定在长方体的顶部、右侧和左侧,按钮固定在长方体顶部和底部的图像视图上。若要使某些内容转到视图的中心,请使用两个约束。“将中心X与superview对齐”和“将中心Y与superview对齐”。如果希望它也填充视图,请在这两个常量中再添加两个常量。这些是“与超级视图等宽”和“与超级视图等高”,只需将一条线从子视图拖动到超级视图,您将看到添加所有这些特性的选项。谢谢您的帮助。我尝试过添加约束,比如这些以及滚动视图和框的所有不同方式,但我似乎在层次结构中的位置不够高。他们只是想影响固定在左上角的矩形内发生的事情,而不是定位该矩形