Swift 中的约束不起作用
Posted
技术标签:
【中文标题】Swift 中的约束不起作用【英文标题】:Constraints in Swift not working 【发布时间】:2017-10-03 09:44:21 【问题描述】:我正在尝试为我的视图添加一些约束,但每次我切换设备时,视图都会变得疯狂。我怎样才能解决这个问题?
我希望它在 iPhone 8 Plus 上的外观和外观:
我切换到 iPhone SE 后的样子:
我添加了这些约束:
0 顶 还剩 0 个 0 对 686底【问题讨论】:
【参考方案1】:如果你的底部约束大于设备的高度,自然会超出范围。
此外,如果屏幕高度小于 686,您的约束将不明确。
您需要有一个 高度约束,常数为 50 才能在视图上设置而不是底部约束。
【讨论】:
底部是 646 而不是 686 我的错误。我修好了它。我所做的: - 移除了底部约束 - 将高度设置为常数。谢谢【参考方案2】:对于任何约束都具有如此巨大的价值是不可取的。因此,在更换设备时,屏幕的高度可能会发生变化,您的限制也会被打破。
首选方法是创建一个高度约束并将其设置为 686,并且不要设置底部约束,因为不再需要它。但是如果屏幕尺寸较小,问题可能会出现在这里,因为底部的视图将不可见。为了克服这个问题,您应该使用滚动视图并将此内容视图放在滚动视图中。
【讨论】:
【参考方案3】:您可以设置视图的高度约束而不是底部约束 或者 你可以使用 Size 类
【讨论】:
以上是关于Swift 中的约束不起作用的主要内容,如果未能解决你的问题,请参考以下文章
编程约束在 UICollectionViewCell Swift 中不起作用
Apple Swift:String 类型的泛型类型约束仅不起作用