使用比率时在 Interface Builder 中发出平衡约束
Posted
技术标签:
【中文标题】使用比率时在 Interface Builder 中发出平衡约束【英文标题】:issue balancing constraints in Interface Builder when using ratio 【发布时间】:2017-09-07 04:08:06 【问题描述】:我在界面生成器中构建的警报视图的约束存在问题。
当屏幕是 iPhone 5 尺寸时,我希望前导和尾随约束来压缩图像并使其更小,我在这里也设置了 1:1 的比例约束。到目前为止,这很好用。但是,当屏幕变大时,例如iPhone7+ 或 iPad 我希望图像保持相同大小(即界面生成器中的图像大小,iPhone7 大小的画布)。我尝试使用<=
设置图像宽度约束,然后将图像上的前导和尾随约束设置为优先级750
。这适用于更大的屏幕,但现在当我回到 iPhone5 屏幕尺寸时,它被破坏了,因为前导和尾随约束的优先级低于比率的优先级。图像大小保持不变。似乎无论我如何处理约束,我都只能获得适用于单个场景 iPhone5 或 iPhone6+ 的尺寸。以前有人遇到过这种问题吗?关于如何处理约束的任何建议?
【问题讨论】:
您是否尝试过使用尺寸等级设置约束? 没有。我该怎么做? 有你的解决方案@kex?? 我不同意重新调整课程大小的方法。各种 iPhone 设备都是同一类,即紧凑宽度和常规高度。问题是我不能 100% 确定你想要达到的目标。也许您可以在每种尺寸上添加它应该是什么样子的快照(手动调整它们),然后我们可以建议哪些约束或(喘气)代码可以达到预期的效果。 【参考方案1】:尝试探索尺寸等级。在此链接上探索。 https://www.raywenderlich.com/162311/adaptive-layout-tutorial-ios-11-getting-started.
基本上,通过使用它,您可以针对尺寸类别(术语指设备屏幕的不同尺寸)为同一元素设置单独的约束。
【讨论】:
【参考方案2】:您可以通过这种方式实现它。它适用于各种尺寸的 iPhone。
包含图片的UIView
有3个关键点
【讨论】:
以上是关于使用比率时在 Interface Builder 中发出平衡约束的主要内容,如果未能解决你的问题,请参考以下文章
使用 Interface Builder 构建的自定义 UIView 可通过 Interface Builder 访问/定位
如何使用 Interface Builder 设置 UIScreenEdgePanGestureRecognizer?
iOS Update Interface Builder视图框架基于约束