【发布时间】:2023-03-16 03:20:01
【问题描述】:
我正在尝试为“聊天气泡式”视图设置约束。
我的问题是,当设备旋转时,视图没有扩展到设备宽度的 70%。
这是一张展示发生了什么的图片。
当我水平旋转设备时,请注意右侧设备上的蓝色气泡可能会扩大到占用 70% 的空间,而是保持当前的窄宽度:
现在,这是我想要发生的事情的图片。当我旋转设备时,你能看到右边的设备实际上将我的自定义视图扩展到了屏幕的 70% 吗?
我做错了什么?如何实现第二张图片中的行为?
这是我使用 SnapKit DSL 布置自定义视图的代码:
bubble.snp.makeConstraints { (make) in
make.width.lessThanOrEqualToSuperview().multipliedBy(0.7).priority(.required)
make.top.right.equalToSuperview().inset(20)
}
In case you are curious, here is a link to a GitHub Gist of my custom bubble view.
非常感谢任何帮助!
编辑:我的更新代码:
bubble.snp.makeConstraints { (make) in
make.width.lessThanOrEqualToSuperview().multipliedBy(0.7).priority(.required)
make.width.equalToSuperview().multipliedBy(0.7).priority(.low)
make.top.right.equalToSuperview().inset(20)
}
【问题讨论】:
-
您说的是 lessThanOrEqual 并且您得到的小于。你不能抱怨!小于确实小于或等于。如果你的意思是平等,为什么不说平等?你不这么说还有其他原因吗?
-
我的错,应该澄清一下!如果文字很小,比如“Hello”,我不希望它相等,而是
0.7 * lessThanOrEqualToSuperview。但是如果总文本可以超过0.7 * lessThanOrEqualToSuperview,我想把它限制在0.7 * lessThanOrEqualToSuperview。这更有意义吗?
标签: ios swift autolayout snapkit