iOS故事板约束/特征,用于纵向和横向视图

5
我的iOS项目目前只包括一个单独的UIView或UIViewController。控制器类名为MainViewController.swift。 视图控制器的视图有一个子视图,我把它放在了底部: enter image description here 我设置了自适应布局选项,以使每个设备尺寸下子视图之间的距离保持一致: enter image description here 现在,我想让子视图始终位于父视图的短边上,这意味着在横屏模式下,子视图应该在父视图的右侧: enter image description here 我查看了一些教程和其他帖子: 目前还不清楚如何最好地实现这样的效果?我找到了一些解决问题的可能性:
  • Vary for traits...但是怎么做呢?
  • 约束条件?
  • 以编程方式 - 我认为这将是最快的解决方案,但我真的想使用Storyboards并学习正确的用法。
2个回答

5

您可以使用大小类和特征进行调整。如果您想在纵向模式下给出约束条件,则必须选择紧凑的宽度和常规的高度;对于横向模式,选择紧凑的宽度和紧凑的高度。

请按照以下步骤单独约束纵向和横向:

1)请从特征中选择纵向或横向模式。

2)现在,您可以逐个约束每种模式。例如,我正在为纵向模式中的红色视图提供约束,并启用特定的约束条件,以便它在横向模式下被禁用。

enter image description here 3)完成纵向模式后,我切换到紧凑的高度、常规的大小类,即横向模式。

enter image description here

4)现在,我们可以像上面的截图一样约束横向模式。

我们可以看到,浅色的约束条件在当前大小类下被禁用。

这就是如何单独约束纵向和横向模式的方法。


0

因为 iPad 在横屏和竖屏之间没有尺寸类别或特征差异,所以您最终将不得不通过编程处理至少一些情况。既然如此,您可能会考虑使用一个方法来处理所有情况,该方法执行以下操作:

  1. 获取当前屏幕大小
  2. 如果宽度大于高度,则添加约束以使子视图垂直居中并将其固定到右侧边缘。否则,添加约束以使子视图水平居中并将其固定到底部边缘。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接