代码之家  ›  专栏  ›  技术社区  ›  Yasser Homsi

Xcode如何在Autolayout中创建灵活约束

  •  -1
  • Yasser Homsi  · 技术社区  · 6 年前

    大家好,我遇到了自动布局问题

    我有一个登录故事板,它包含三个项目:图像视图、堆栈视图和按钮,如下面的第一个图像

    我尝试使用两种方法添加约束:

    第一种方法是,我将“固定”约束添加到图像视图中,如下图1所示,但当我更改为横向时,图像消失,如下图第二张照片所示。
    请注意,我没有收到任何警告

    第二种方法是使用view包装图像视图,然后添加 视图的“固定”约束 最后,我添加了固定宽度&相对于图像视图的高度和水平(&M);容器中垂直,但我得到的结果是第三张和第四张照片

    我应该如何使我的图像视图适用于所有屏幕?

    谢谢

    Photo1 Photo2 Photo3 Photo4

    1 回复  |  直到 6 年前
        1
  •  0
  •   Govind Kumawat    6 年前

    切换到横向屏幕时一样 身高 变化很大。使用Autolayout进行设计时存在的问题是,它不能与横向和纵向模式相适应,因为您的设置是固定的 高度 宽度 到您的布局。

    使您的 图像视图 适用于所有屏幕,提供图像视图 身高 超级视图 身高 在里面 百分率 因此,在横向模式下,高度将发生变化时,图像视图仍将获得 身高 从…起 superview高度 完全相同 百分率

    看看这个演示,希望这会有所帮助。 Autolayout

    • 首先将UIImageView拖放到ViewController中。
    • 给它一个顶部约束,并将其与SuperView水平对齐。 现在只需要高度和宽度。 enter image description here
    • 然后 Ctrl键 从中拖动 图片框 它本身 选择纵横比 给 a方面 比例1:1 (只是说说而已 情节提要 如果有 高度或 宽度 我希望另一个也一样 宽度 是 当时给出 身高 应与相同 宽度 ,反之亦然 身高 )随你的便 完美的方形外形适合您的个人资料图像视图。

    • 现在 Ctrl键 从中拖动 图片框 大智慧超赢 并选择 等高

    enter image description here

    • 现在,您的ImageView获得 身高 SuperView高度 。 提供您的ImageView 比例高度 (百分比,纵横比 定量或多倍加料机)至 大智慧超赢 你想付出多少 所以

    enter image description here

    enter image description here

    最后,UIImageView将获得与SuperView高度成比例的高度,反之亦然的宽度。