【问题标题】:Float layout in interface builder in iOS?iOS界面构建器中的浮动布局?
【发布时间】:2014-09-08 14:53:02
【问题描述】:

我想将一个 UIView(具有不同数量的 UILabel 对象)添加到 UIViewController

如何通过自动布局设置约束,如果发生旋转,并且视图宽度减小,则高度应该增加,并且标签应该像下面一样适合,就像 CSS 浮动一样强>。

是否可以使用界面生成器而不是以编程方式

更新

与此同时,我尝试了 iOS8 新的界面构建器功能,称为 Size Classes(WWDC 2014 What's New in Interface Builder from 29:59),正如 matt 所建议的那样。但正如我所见,它支持我正在寻找的不同的东西。 Size Classes目标是将不同的 xib(iPhone、iPad)放入一个 xib,以拥有一个 xib 而不是更多。

就我而言,它没有帮助。我为这两个尺寸类设置不同的自动布局约束所做的工作:

但是当我在 iPad 4 模拟器中运行应用程序时 - 我的应用程序的主要目标是什么 - 它总是使用常规宽度/任何高度尺寸类,而不是任何宽度/任何高度,我的原来的期望会有

【问题讨论】:

  • 听起来好像可以通过自动布局实现
  • 可能最简单的方法是 UICollectionView。
  • “但是当我在 iPad 4 模拟器中运行应用程序时 - 我的应用程序的主要目标是什么 - 它总是使用常规宽度/任何高度大小类”是的,这就是我仔细说的原因在我的回答中,我在谈论一个 iPhone 应用程序。在测试过程的这个阶段,iPad 方向缺乏尺寸等级差异是一个奇怪的缺点。

标签: ios interface-builder autolayout ios8


【解决方案1】:

我不知道“以浮动方式”是什么意思。但是在 Xcode 6 中,您可以轻松地执行您所描述的操作,使用新的条件约束(大小类)功能更改 iPhone 应用程序中的约束,以便第四个标签下降到下一行。借助此功能,您可以为一组尺寸类别(例如横向 iPhone)设置一组约束,为一组不同尺寸类别(例如纵向 iPhone)设置另一组约束。

在 Xcode 6 之前,答案是否定的,你不能单独使用 IB 来做到这一点。某种代码,无论是集合视图还是您自己的响应旋转/布局的代码,都必须更改约束。

【讨论】:

  • 天哪。确实在哪里。有关该主题的 WWDC 2014 视频?文档?示例张贴在互联网上?
【解决方案2】:

使用UICollectionView,您可以设置类似CSS float 的布局。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 2016-05-19
    • 2013-08-20
    • 2023-03-19
    相关资源
    最近更新 更多