【问题标题】:Dealing with constraints for proportional squares处理比例平方的约束
【发布时间】:2015-03-11 21:53:09
【问题描述】:

我在处理正方形约束时遇到了一些问题。我需要正方形(UIImageView)与每个 iPhone 尺寸成比例。我还需要用词来保持比例。我尝试了几种不同的方法,但方块似乎每次都会变大或变小,而且到处都是。有什么想法吗?

【问题讨论】:

  • “方块似乎每次都会变大或变小,而且到处都是”那么你做错了什么。别那样做。 :) 说真的,您绘制的布局最容易使用这些视图的基于代码的布局来实现,而不是自动布局。您可以在自动布局中执行此操作,但如果您只需为所有这些视图计算正确的帧并在代码中直接分配它们,您将拥有更轻松的时间。
  • 您确实意识到,由于不同的 iPhone 具有不同的宽高比,因此必须有所作为。您不能将具有一种纵横比的矩形缩放到具有另一种纵横比的矩形并保持正方形和圆形圆形。如果你想保持圆圈圆形并保持每条对角线 8 个,那么对于不同的纵横比,圆圈的对角线将不得不移动得更近或更远。
  • 把它放在代码中的问题是它是LaunchScreen.xib。我以为你不能有 LaunchScreen 的代码。我错了吗?

标签: ios xcode constraints xib


【解决方案1】:

假设您想在每条对角线上保留 8 个圆圈,并希望它们锚定在屏幕的角落:

  • 选择所有圆圈并选择编辑器 > 引脚 > 宽度相等。然后平等地做高度。
  • 选择其中一个圆圈并按住 Control 键将其拖动到自身,然后创建纵横比约束。确保其乘数为 1:1。
  • 对于对角线上的所有圆,创建水平间距约束,从一个到下一个常数为 0。另一个对角线也一样。然后,垂直间距也是如此。
  • 对于顶部对角线的左上角圆圈,将其固定到容器的顶部和前缘。
  • 对于顶部对角线的右下角圆圈,将其后缘固定到容器的后缘。
  • 对于底部对角线的右下角圆圈,将其固定到容器的底部和后缘。
  • 对于底部对角线的左上角圆圈,将其前缘固定到容器的前缘。

这应该让圆圈对齐并根据设备的宽度调整大小。

  • 对于“颜色”标签,将其顶部和底部固定在右侧的蓝色圆圈上。将其后缘固定到蓝色圆圈的前缘,并留出一定间距。
  • 对于“Catch”标签,将其顶部和底部固定在左侧的绿色圆圈中。将其前缘固定到绿色圆圈的后缘,并留出一定间距。
  • 您可能还想为圆形远端的标签边缘与容器的相应边缘创建约束,具有间距和大于或等于关系,以确保它们不会延伸到边缘。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多