Autolayouts和约束的ImageView问题

时间:2016-12-12 10:34:24

标签: ios objective-c autolayout xcode8 landscape-portrait

这是我的ViewController SignupLogin

VC in Portrait

我正在调整Autolayouts,它在Portrait中工作正常,如果我在横向模式下运行它会显示如下

VC in Landscape

以及如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

使用XCode 8.1回答

设置不同的布局&对于不同大小类的约束,需要遵循给定的步骤。使用给定的步骤,可以根据Size Classes实现不同的布局。

让我们从基本需求开始,你必须了解你的布局。

  1. 将尺寸等级更改为iPhone纵向(wCxhR - 宽度紧凑,高度规则)。因为首先我们将为它设置约束。
  2. 相应地添加所有控件并设置约束,这些约束适合您的纵向布局设计。
  3. 完成将Portrait(wCxhR)的约束分配到(wCxhC)或根据您的要求。有关详细信息,请参阅Create user interface variations for different device configurations
  4. 更改横向布局的控件和约束。多数,运行您的应用程序并检查两个方向。 :)
  5. 请根据不同的大小类结果找到不同布局的屏幕截图。 Portrait Layout Landscape Layout

    我相信它让你对如何使用size class设置不同的布局有了更多的了解。

答案 1 :(得分:0)

将Imavgeiew底部的约束添加到第一个按钮顶部并将其设置为"大于或等于0"

答案 2 :(得分:0)

  1. 从图像视图底部向第一个按钮添加约束,大于等于0(或您喜欢的其他常量)。
  2. 设置约束的优先级,使图像视图中心垂直于750.您可以通过单击编辑按钮进行设置。 enter image description here

答案 3 :(得分:0)

以下是您可以尝试的步骤 1)将中心约束添加到图像视图
2)给出宽高比
3)从顶部到标签的约束或给文本字段的底部
4)给予高度修复

enter image description here

检查并告诉我