Ios 横向/纵向布局更改

Ios 横向/纵向布局更改,ios,autolayout,Ios,Autolayout,我有一个故事板,我在Swift 3的Xcode 8上使用大小类的自动布局 我有一个肖像的当前视图: 目前,这是一个带有标签的垂直堆栈视图 在横向中,左侧/右侧有大量浪费的空间,加上由于屏幕大小,我目前正在隐藏数据: 我想做的基本上不是把所有的东西都叠起来,而是把“前面”的数据放在屏幕的左侧,然后在中间的屏幕上显示“你的圈时”。然后在右边有“在你身后” 实现这一目标的最佳方式是什么?我来自安卓开发公司,在那里,每个方向我都会有另一个布局,但我在iOS上找不到类似的布局 你可以根据不同的性格而有

我有一个故事板,我在Swift 3的Xcode 8上使用大小类的自动布局

我有一个肖像的当前视图:

目前,这是一个带有标签的垂直堆栈视图

在横向中,左侧/右侧有大量浪费的空间,加上由于屏幕大小,我目前正在隐藏数据:

我想做的基本上不是把所有的东西都叠起来,而是把“前面”的数据放在屏幕的左侧,然后在中间的屏幕上显示“你的圈时”。然后在右边有“在你身后”


实现这一目标的最佳方式是什么?我来自安卓开发公司,在那里,每个方向我都会有另一个布局,但我在iOS上找不到类似的布局

你可以根据不同的性格而有所不同。下面是一个很长的演示,介绍了一种方法。希望这一切都是有意义的,但有几个方法与自动布局做到这一点

第一步。将视图拖到情节提要上,并固定到顶部布局导向、前导、尾随和底部0处。稍后我们将需要这个来集中所有内容

第二步。拖动另一个将保存所有内容的视图。然后把它钉在边缘上,比如说20点,上面,下面,前面和后面。注意:我们将添加更多的约束并在稍后进行更改,所以请注意。

第三步。将另一个视图拖到屏幕上,并向其添加3个UILabel。单击顶部标签并在图像中添加约束

第四步。向下选择第二个标签,然后添加底部10、前导和尾随0。不需要top,因为它是在步骤3中添加的

第五步。对底部标签重复与步骤4相同的步骤,添加3个约束

第六步。单击整个视图并转到顶部菜单,然后选择“嵌入StackView”。见图片

第七步。在其上方添加一个UILabel以固定重叠文本,并将其固定到顶部20、前导、尾随位置0和底部20处的stackview。见图片

第八步。现在将stackview固定到前导0、尾随0、底部-0或20

第九步。将带有标签的视图复制2次,并使用左侧的ViewHierarchy编辑器将其拖动到stackview中,这样stackview现在有3个视图。它现在应该看起来像图像。

第十步。现在,更改整个视图中的每个标签,使其包含内容的垂直高度为1000。还可以将每个屏幕上的字体更改为所需的字体,并进行设置,使字体可以缩小到例如0.5的系数。有关内容拥抱设置,请参见图。

第11步。现在返回到保存UILabel和stackview的原始容器,并在编辑器中将所有约束从20更改为>=到,添加并拖动到保存容器的视图(图像中为灰色),然后选择“垂直居中”和“水平居中”。我将显示不同菜单的组合图像附在下面

步骤12。 为stackview和正确设置添加变体。单击轴旁边的加号并将其添加

[![TraitAxis][9]][9]
步骤13。现在为对齐添加另一个变体,最终的stackview设置应该如下所示。

回报是这样的。前提是您已经设置了所需的字体并允许其缩放。我删除了一些额外的标签以匹配您的图像,这样做时,我必须将保留的底部标签固定到标签容器。您可能需要为Plus设备添加另一个对齐变体,但这只是像在最后步骤中那样添加变体。您可能还需要解决标签上的一些较低优先级问题,但我认为单击并说“确定”将完成这项工作。照它说的去做就行了。我希望这有帮助。您还可以嵌套堆栈视图,布局可能更简单。就像我说的,可能有更多的方法来实现这一点,但这应该会让你走上正确的道路


你可以根据性格的不同而有所不同。下面是一个很长的演示,介绍了一种方法。希望这一切都是有意义的,但有几个方法与自动布局做到这一点

第一步。将视图拖到情节提要上,并固定到顶部布局导向、前导、尾随和底部0处。稍后我们将需要这个来集中所有内容

第二步。拖动另一个将保存所有内容的视图。然后把它钉在边缘上,比如说20点,上面,下面,前面和后面。注意:我们将添加更多的约束并在稍后进行更改,所以请注意。

第三步。将另一个视图拖到屏幕上,并向其添加3个UILabel。单击顶部标签并在图像中添加约束

第四步。向下选择第二个标签,然后添加底部10、前导和尾随0。不需要top,因为它是在步骤3中添加的

第五步。对底部标签重复与步骤4相同的步骤,添加3个约束

第六步。单击整个视图并转到顶部菜单,然后选择“嵌入StackView”。见图片

第七步。在其上方添加一个UILabel以固定重叠文本,并将其固定到顶部20、前导、尾随位置0和底部20处的stackview。见图片

第八步。现在将stackview固定到前导0、尾随0、底部-0或20

第九步。将带有标签的视图复制2次,并使用左侧的ViewHierarchy编辑器将其拖动到stackview中,这样stackview现在有3个视图。它现在应该看起来像图像。

第十步。现在,更改整个视图中的每个标签,使其包含内容的垂直高度为1000。还可以将每个屏幕上的字体更改为所需的字体,并进行设置,使字体可以缩小到例如0.5的系数。有关内容拥抱设置,请参见图。

第11步。现在返回到保存UILabel和stackview的原始容器,并在编辑器中将所有约束从20更改为>=到,添加并拖动到保存容器的视图(图像中为灰色),然后选择“垂直居中”和“水平居中”。我将显示不同菜单的组合图像附在下面

步骤12。 为stackview和th添加变体