【发布时间】:2017-03-15 23:13:10
【问题描述】:
好的,我终于开始使用 Xcode 8 进行自动布局了。
我可能在概念上有错误的想法。但是,我在 IB 中有一个视图,其中有 2 个标签,一个按钮和一个 imageview 死点,尺寸为 300 x 300,适用于 6plus 和 6 个设备。
我想要做的是改变 iPhone 5 (SE) 的 imageview 大小,所以我点击 Vary for Traits 并选择 height 和 width 然后将值更改为 150 x 150 点击完成,所有看起来都很好看 iphone 5 ( SE)。
现在回到 6plus 和 6,它的大小也调整为 150 x 150,但我希望图像大小保持为 300 x 300。我可能再次完全有错误的想法。
我认为这里的重点是它的大小取决于选择的内容,即变化。
【问题讨论】:
-
不同的特征改变了不同大小类的约束。 4 和 6+ 都是相同的尺寸等级(横向中的 6+ 除外,它是常规宽度而不是紧凑)。
-
好的,那么我如何让我在 6plus 和 6 中的图像为 300 x 300,而 iphone 4 在 IB 中为 150 x 150。正如我所说,我期待一旦我在 iphone 4 视图中更改为 150 x150 的变化特征模式,点击完成只会将 150x150 应用于 iphone 4,但它并不适用于所有设备。我确信我在概念上可能有错误的想法,但需要认真思考。
-
你不能在 IB 中做到这一点。因特质而异仅适用于在尺寸等级之间变化,并且肖像 4 和 6+ 是相同的尺寸等级。
-
好的,如果是这样,您是说我需要检查设备类型并根据设备在代码中以编程方式调整大小吗?我认为这是自动布局等的全部意义......还值得一提的是,我说 iPhone 4 我实际上是指 iPhone 5 (SE) 我已经重新编辑了我的问题,对此感到抱歉。
-
是的,您可以通过编程方式完成并根据设备类型更改约束。看起来您只是想确保您的所有视图都适合屏幕?可能有比硬编码图像视图的大小更好的方法。
标签: ios iphone autolayout xcode8 size-classes