使用自动布局约束优先级来改变不同设备上的视图大小
Posted
技术标签:
【中文标题】使用自动布局约束优先级来改变不同设备上的视图大小【英文标题】:Using auto layout constraint priorities to change the size of a view on different devices 【发布时间】:2015-09-28 10:38:23 【问题描述】:我正在使用自动布局来创建 UI。我在那里设置了一些限制。
在上图中,如您所见,中间是一个图像视图。现在我想在 iPad 上设置不成比例的图像视图的大小。我想将其尺寸设置为比 iPhone 5 稍大,并位于视图的中心。我想在这里使用优先级。我怎样才能做到这一点?
【问题讨论】:
有多种方法可以为这种情况应用约束。例如。您对设备宽度有 90% 的宽度约束和另一个宽度约束作为宽度的最大限制,例如 400。因此,constraint1 == 0.9*deviceWidth 和 constraint2 【参考方案1】:嘿,您可以将尺寸等级用于此类工作。在 iPad 中,根据需要应用不同的约束。请按照以下内容完整参考:https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/AboutAdaptiveSizeDesign.html
【讨论】:
大小类是耗时的工作。为一个视图制作两个屏幕,所以我不喜欢尺寸等级 是的,但如果有这样的要求,你就可以使用它。您可以做的另一件事是,您可以以编程方式检查设备是 iPhone 还是 iPad,并相应地更改约束。 大小类不应该比使用多个优先约束更多的工作。只需在 IB 中选择尺寸等级并打开/关闭适当的约束。然后做下一个尺寸课程。你只有一个场景可以适应以上是关于使用自动布局约束优先级来改变不同设备上的视图大小的主要内容,如果未能解决你的问题,请参考以下文章