【问题标题】:UICollectionView change flow direction on rotationUICollectionView 在旋转时改变流向
【发布时间】:2015-04-09 10:33:44
【问题描述】:

嘿,我想获得您在图片中看到的内容:在紧凑高度模式(横向 iphone)下,红色和蓝色视图都必须垂直占据整个屏幕,水平占据一半屏幕。在 Compact Width 模式(纵向 iphone)中,他们必须水平占据所有屏幕,垂直占据一半屏幕。在两种模式下,视图之间的空间应该相同。

我曾经认为我必须使用大小类和自动布局约束,但我尝试的一切都失败了。

也许我必须使用 UICollectionView 并根据方向更改流向(如果可能的话)?

【问题讨论】:

    标签: ios autolayout size-classes


    【解决方案1】:

    集合视图可能是多余的,因为您不想滚动,而这就是集合视图的全部意义所在——当您调整大小以停止它时,您已经完成了设置非滚动布局。

    这对于 IB 中的 Size Classes 是可能的。首先,一般来说,您可能会发现在 IB 左侧的 Document Outline 中命名视图很有帮助。您还需要使用此轮廓,而不是尝试抓住微小的约束 H 线。

    1. 设置所有约束,除了 1) 约束链接 OrangeView 和 BlueView 相互连接,2) 约束链接 顶部和左侧(前导)的 OrangeView,以及 3)约束 将 BlueView 链接到底部和右侧(尾随)。
    2. 将底部的尺寸等级设置更改为 w-Compact 和 h-时髦盒子系统中的任何。现在我们正在设计一个紧凑的宽度,以便视图相互重叠。
    3. 为 BlueView.bottom 的垂直空间创建一个约束 OrangeView.Top。还为 OrangeView 创建约束 superview.leading (或 ledaing,margin) 和 BlueView 到 superview.trailing.margin。如果您选择这些约束中的任何一个并查看右侧的 Size Inspector(标尺),您应该会看到未选中“已安装”复选框,并且在其下方有一个 w-Compact h-Any 和另一个已安装的框,这个被选中.
    4. 现在,在保持选中约束只是为了看看会发生什么的同时,将底部的 sizeClass 选择器更改为 w-Regular h-Any。请注意,在左侧的文档大纲中,它应该是灰色的。
    5. 现在我们设计的是常规的,所以并排。添加将水平空间的视图、BlueView.trailing 链接到 OrangeView.leading 的约束。还将 OrangeView.top 链接到 superview.top 或与 BlueView.top 对齐的顶部,底部也是如此。您可以先手动编辑框架;如果没有,IB 将自动填写错误的值,因此请在创建它们后编辑它们,并验证它们是 w-Regular 和 h-Any。选择 ViewController 后,选择“更新框架”,视图应对齐到其尺寸类的预期形状。

    让我们知道这是否适合您或不清楚。祝你好运!

    【讨论】:

    • 嗨,迈克尔,感谢您写出如此详细而详尽的答案! IB 有时可能非常不直观......
    • 我仍在尝试学习自动布局和大小类:在第 1 步中。当您说“设置所有约束”时,您的意思是:1)蓝色到顶部 2)蓝色-领先 3) 橙色到底部 4) 橙色到尾随 ? Xcode 抱怨我错过了蓝色和橙色的高度和宽度约束。我尝试为蓝色和橙色设置相同的宽度和高度,但它不起作用“无法同时满足约束”。等等……
    • 是的,Xcode 警告有时非常有效,有时需要忽略 - 这就是为什么有一个“占位符”选项,如果你知道你的警告会在代码中处理它们,那么它只是为了消除警告。跨度>
    • 评论继续,抱歉,在移动设备上:在这种情况下,您将在第 1 步之后收到警告,因为您还没有提供所有信息。但是,也许我的回答没有达到预期的水平,因为它最终确实需要将视图链接到 所有 面和彼此之间的约束,否则它无法弄清楚它们应该有多大.设置到每个边距应该用该轴上的一个视图来解决高度和宽度。任何更改,仅在编辑该尺寸等级时设置。如果它无法解析沿同一轴的两个视图,则应使用相等的高度和宽度。
    猜你喜欢
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多