【问题标题】:Regular / Regular position sizing constraints for all iPads, including iPad pro?所有 iPad(包括 iPad pro)的常规/常规仓位大小限制?
【发布时间】:2016-03-01 17:49:44
【问题描述】:

我在约束中使用了乘数来调整视图大小。然而,在我对位置的约束中,我使用了值,我会针对不同的尺寸等级进行更改。

但是对于 iPad Pro 使用常规/常规尺寸类,它的位置值不够大,但对于其他 iPad 来说没问题。

我真的不必添加带有乘数的定位视图来为我的所有视图提供百分比空间吗?

【问题讨论】:

  • 你能举一些具体的例子吗?现在都太模糊了。

标签: ios cocoa-touch autolayout interface-builder


【解决方案1】:

对,您不必使用乘数,因为除 1 创建比例约束。对于 Width 属性,对于 例如,第一项的宽度可以设置为 两倍 第二项的宽度

首先我想说ipad和ipad pro的分辨率差别很大所以如果你添加定位视图我只建议你使用size class和使用优先级、常数关系(小于或等于、等于、大于或等于)如有必要

希望对你有帮助...

【讨论】:

  • 谢谢,我没有意识到关系和优先级会影响相同尺寸级别的设备。虽然老实说我没有使用和关系或优先级并且确实需要一些教程。
  • 视情况而定,但您能告诉我视图的排列方式以及您对提及设备的确切要求吗?
  • 我没有将我的 Mac 交给自动取款机,我想做的只是在屏幕顶部创建相同的空间,以提供一种标题视图。它在 iPad pro 上接近顶部,在其他 iPad 上恰到好处。奇怪的是,标题的左右边距似乎没问题。
  • 您是否尝试过不使用 Relative to margin ofleading/Trailing?
  • 正确,但前导/尾随是它自己的相对边距。可能是20-20,你可以检查一下...
【解决方案2】:

我们所追求的是根据屏幕大小设置屏幕顶部和子视图顶部之间的边距。这意味着约束必须与父视图的高度相关。

试图设置两个视图之间的距离(在传统意义上)在这种情况下实际上是一个的想法。相反,试试这个。

添加一个约束以使您的视图在超级视图中垂直居中。现在,在尺寸检查器(右侧工具栏)中打开约束。

如果您将乘数设置为 0.01(0 只是将其放回屏幕中心),您的视图将超出屏幕顶部。将 第一项 从 Center Y 更改为 Top。现在您的视图将位于顶部!

从这里,您可以更改 constant 以将您的视图向下移动一个固定的量,并更改 multiplier 以将您的视图进一步向下移动按比例 到屏幕的高度。公式看起来像

subViewYPosition = constant + (superviewHeight * multiplier)

您需要调整常数和乘数以满足您的需要,但我相信这是解决问题的好方法。 一个例子如下所示。

【讨论】:

  • 试着让常数变小,乘数变大,正如我所说的,你必须稍微修改这两个值才能找到你想要的。
  • 我不明白为什么将常数从 0 更改为 1 会将项目置于屏幕顶部?
  • 你是指常数还是乘数?常量不应该做那样的事情
  • 如果您有任何问题,请告诉我
  • 这是一个从 0 到 10 的变化常数以及顶部从中心移动到顶部的示例。 evernote.com/l/AO94uWROMRxBwbNKwdaGw3KJoBo8sGWAgYEB/image.png
猜你喜欢
  • 2016-03-17
  • 2021-03-24
  • 2020-06-21
  • 2017-02-15
  • 1970-01-01
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多