【问题标题】:Achieve iphone 4 layout in iphone 5 using autolayout使用自动布局在 iphone 5 中实现 iphone 4 布局
【发布时间】:2014-07-07 09:53:52
【问题描述】:

由于 AutoLayout 可以定义动态 GUI。在 iphone-4 中,屏幕显示为: 对于框 1 、 2 、 3 、 4 、5 和 6 ,它们的 CGRect 应该满足所有 iphone 和 ipad 中的 'x/2' 和 'y/2' 约束,如图所示。

仅通过指定 xib 中可用的约束来实现它是否可行? 如果是,请启发我们的想法:)

【问题讨论】:

  • 可能是错字:y/3 而不是...?

标签: ios iphone ios7 autolayout


【解决方案1】:

是的,这是可能的。确保每个视图都具有与其他所有视图相同的宽度和高度约束(为简单起见,您可以将它们全部引用回单个视图)。

然后,根据需要将它们固定到父视图边缘或彼此的边缘。

使用 VFL 来表达约束,你想要这样的东西:

H:|[one][two(==one)]|
H:|[three(==one)][four(==one)]|
H:|[five(==one)][six(==one)]|

V:|[one][three(==one)][five(==one)]|
V:|[two(==one)][four(==one)][six(==one)]|

您可以使用固定菜单在界面构建器中添加所有这些约束。

如果你不熟悉 VFL,第一行的意思是:

  • 横轴H:
  • |:superview领先
  • [one]... 将一个的前沿固定到超级视图
  • [two(==one)] ... 将两个的前缘固定到一个的后缘,并使其宽度相同
  • | ... 将两个的后沿固定到超级视图的后沿。

【讨论】:

  • 该死的,又比我早了 :D
  • 您在哪个部分遇到了问题?如果有帮助,我已经写过关于固定菜单和添加约束的文章:commandshift.co.uk/blog/2014/03/10/…
  • 你能描述一下V:|[一][三(==一)][五(==一)]|和 V:|[二(==一)][四(==一)][六(==一)]|..谢谢
  • 添加了一些解释。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多