相同的图像切片在 8 和 8 PLUS 上显示非常不同
Same image slicing displays very different on 8 and 8 PLUS
问题
我想使图像具有固定的上半部分和拉伸的下半部分,以使其在任何高度都能正确调整大小。
我在 Assets.xcassets 中使用图像切片来实现这一点。图片可以适当调整大小,但不同尺寸显示略有不同。
原图
图像切片
只需简单地从垂直中心切开图像即可。
故事板
内容模式设置为缩放以填充
高度限制等于其宽度限制乘以 0.8
结果
我认为它应该在不同的设备上显示几乎相同的图像。因为除了图像资产(2x,3x)之外,一切都是一样的。
然而,结果并不是我所期望的。图片在 iPhone 8 PLUS 上似乎有点变形。
最后
我在 Xcode 10.1 (10B61) 中使用 Mojave。
谁知道是什么原因。以及如何让图片垂直拉伸合适?
它看起来 "squashed" 的原因是图像被水平拉伸了。
您的切片允许顶部保持恒定高度,但不是恒定(或成比例)的宽度。
在这里,我使用你的原始图像 没有 任何切片......每个图像视图都是相同的高度(201 点),所以你知道它不是垂直缩放,但是不同的宽度,以便您可以看到 水平 拉伸的结果:
您可能想要尝试的是将原始图像仅剪裁到顶部。在该图像视图上设置约束以保持比例,然后使用纯色图像视图(或仅具有匹配背景颜色的 UIView)作为下方 "vertical stretch" 部分。
问题
我想使图像具有固定的上半部分和拉伸的下半部分,以使其在任何高度都能正确调整大小。
我在 Assets.xcassets 中使用图像切片来实现这一点。图片可以适当调整大小,但不同尺寸显示略有不同。
原图
图像切片
只需简单地从垂直中心切开图像即可。
故事板
内容模式设置为缩放以填充
高度限制等于其宽度限制乘以 0.8
结果
我认为它应该在不同的设备上显示几乎相同的图像。因为除了图像资产(2x,3x)之外,一切都是一样的。
然而,结果并不是我所期望的。图片在 iPhone 8 PLUS 上似乎有点变形。
最后
我在 Xcode 10.1 (10B61) 中使用 Mojave。
谁知道是什么原因。以及如何让图片垂直拉伸合适?
它看起来 "squashed" 的原因是图像被水平拉伸了。
您的切片允许顶部保持恒定高度,但不是恒定(或成比例)的宽度。
在这里,我使用你的原始图像 没有 任何切片......每个图像视图都是相同的高度(201 点),所以你知道它不是垂直缩放,但是不同的宽度,以便您可以看到 水平 拉伸的结果:
您可能想要尝试的是将原始图像仅剪裁到顶部。在该图像视图上设置约束以保持比例,然后使用纯色图像视图(或仅具有匹配背景颜色的 UIView)作为下方 "vertical stretch" 部分。