ios - 如何根据宽度更改 View 的高度

标签 ios xcode autolayout constraints size-classes

我的 View 宽度会根据设备宽度而变化,但我想根据它来更改高度,我不希望它是静态的。

我找不到任何可以解决这个问题的约束。

我听说宽高比可以做到这一点。但是我试了好像不行。

一般是如何实现的?

最佳答案

将纵横比的概念与 AutoLayout 结合使用,以根据高度和宽度更新您的 View 。使用乘数更新纵横比。这是宽高比分配的快照以及如何更新它的乘数

enter image description here enter image description here

乘数逻辑:
1:1 = 图片的高度和宽度将保持不变
2:1 = 你的宽度或高度是彼此的 2 倍并创建一个矩形。这里高度为2x或宽度为2x,这取决于约束中的第一项和第二项。

优先级逻辑: 优先级分配,当特定约束与同一 View 的另一个约束冲突时优先。例如如果您设置了一个纵横比为 1:1 的 View ,高度为 100,宽度为 100,并且在主视图中居中。现在您还将左(边距)/前导约束指定为固定值,如 200。在这种情况下,对于不同大小的屏幕宽度,居中对齐和/或前导对齐和/或宽高比将相互冲突。此时你需要更新0-1000之间的优先级,根据你对设计调整的要求。

分享你的设计,我会给出你的确切逻辑,如何使用这个概念

关于ios - 如何根据宽度更改 View 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42577067/

相关文章:

ios - 如何正确配置我的堆栈 View ?

ios - 如何从另一个导航 Controller 在导航 Controller 中的根 vc 之上呈现 View Controller

ios - 如何删除 UIButton 和 UIView 上的特定边框?

ios - 更改约束后 UICollectionView 更新单元格大小

iOS Storyboard - 自动布局不会调整 subview 的大小和位置

ios - 从 NSMutableArrays 移除对象

ios - Cocoa Pods 不兼容的字符编码,安装 RestKit 时

android - 如何实现一对一消息分发的MQTT

ios - 根据 cocos2D 和(?)iPad 上的 Box2d 的触摸轮动画?

ios - 当我试图让用户创建他们自己的 uicollectionviewcell 时,iOS 模拟器中没有出现任何内容