iOS - 具有约束优先级和抗压缩性的自动布局问题
iOS - Auto Layout issue with constraints priority and compression resistance
我一直在努力提高自己 Auto Layout
和创造设计。
我已经阅读了很多关于约束优先级、压缩阻力和拥抱优先级但是也 内部内容大小 .
在我的项目中 re-creating 几乎所有 xib/storyboard 文件之后,我一直在努力设计一个自定义的简单 UICollectionViewCell
.
这是所需的设计:
但我似乎无法创建适当的约束来处理所有屏幕分辨率(特别是 iPhone 5)。
这是我所做的:
我创建了 2 个独立的视图,顶部的标题视图和内容视图。
关于蓝色和灰色视图:
现在为了在不同的屏幕设备上始终具有大致相同的外观,我在 blue view
和 contentView 之间添加了约束 equal height
(white view
),常数为 1:3
。这意味着蓝色视图将始终是 parent 白色视图的 1/3。
并且对于 gray view
,我添加了一个 equalHeight
约束,其中 blue view
等于 1:2
。
UILabel 和 2 个 UIImage 视图:
现在有趣的部分开始了,我已经为蓝色视图中的 UILabel
设置了 trailing
、top
和 bottom
约束,相同但 leading
用于外部的大 ImageView,horizontal constraints
在 UILabel
和警告图标 Image View
之间,horizontal constraint
在 2 Images Views
.[=34 之间=]
现在我知道我有自动布局约束歧义,因为它不知道要压缩或剪辑哪个元素。
编辑:所以我将 UILabel 的内容拥抱优先级更改为 1000,现在我拥有了所有 3 个元素,但在 iPhone 5 上结果是一场灾难。
编辑:这是一个包含所有约束的全局图像。在 iPhone 5.
上看起来不太好
你有一个约束歧义,因为你必须为 alertImageView 和 warningImageView 设置 width/height 约束,除了将标签的 contentHugging 优先级水平设置为 1000
也可以在 alertView 和 warningView 之间创建 H 间距,尽管它们不在同一个容器中。
我一直在努力提高自己 Auto Layout
和创造设计。
我已经阅读了很多关于约束优先级、压缩阻力和拥抱优先级但是也 内部内容大小 .
在我的项目中 re-creating 几乎所有 xib/storyboard 文件之后,我一直在努力设计一个自定义的简单 UICollectionViewCell
.
这是所需的设计:
但我似乎无法创建适当的约束来处理所有屏幕分辨率(特别是 iPhone 5)。
这是我所做的:
我创建了 2 个独立的视图,顶部的标题视图和内容视图。
关于蓝色和灰色视图:
现在为了在不同的屏幕设备上始终具有大致相同的外观,我在 blue view
和 contentView 之间添加了约束 equal height
(white view
),常数为 1:3
。这意味着蓝色视图将始终是 parent 白色视图的 1/3。
并且对于 gray view
,我添加了一个 equalHeight
约束,其中 blue view
等于 1:2
。
UILabel 和 2 个 UIImage 视图:
现在有趣的部分开始了,我已经为蓝色视图中的 UILabel
设置了 trailing
、top
和 bottom
约束,相同但 leading
用于外部的大 ImageView,horizontal constraints
在 UILabel
和警告图标 Image View
之间,horizontal constraint
在 2 Images Views
.[=34 之间=]
现在我知道我有自动布局约束歧义,因为它不知道要压缩或剪辑哪个元素。
编辑:所以我将 UILabel 的内容拥抱优先级更改为 1000,现在我拥有了所有 3 个元素,但在 iPhone 5 上结果是一场灾难。
编辑:这是一个包含所有约束的全局图像。在 iPhone 5.
上看起来不太好你有一个约束歧义,因为你必须为 alertImageView 和 warningImageView 设置 width/height 约束,除了将标签的 contentHugging 优先级水平设置为 1000
也可以在 alertView 和 warningView 之间创建 H 间距,尽管它们不在同一个容器中。