我正在尝试使用UIImageView或其他可行的方法在视图上放置背景图像。我希望它填满整个视图,但保持纵横比,并允许我控制哪些边被剪裁。如果可能,我想使用自动布局(不是代码)。
通过设置自动布局约束以使UIImageView保持容器的完整大小,并将Scale Mode设置为Aspect Fill,我非常接近。唯一的问题是图像始终在视图中居中,因为它在横向布局的顶部和底部以及纵向两侧都被裁剪。我希望能够控制它。我希望能够“裁剪右侧”(保持左边缘停靠在容器的左侧),或“只裁剪顶部”。我有不同的图像,我希望每个图像以不同的方式裁剪,并且我可能会允许用户使用他们自己的图像并从一些裁剪选项中进行选择。
在此图片中,我目前获得了最佳结果,但希望选项能够获得最低点。红色框以纵向视图(粗略地)显示可见区域:
我的问题与此类似:iOS Aspect Fill Image Resizing with Content Aligned to Left/Top Edge
然而,我并不认为这是重复的,因为我的需求不同,而且我还包括一张图片,以帮助解释更好。此外,我不会接受“使用不同的肖像与风景图像”的答案,因为这并没有真正解决问题。如果你理解我的问题,你会发现你实际上需要为每个不同的宽高比需要一个不同的图像,在我想要支持的每个对齐中预先裁剪。显然,这不是一个强有力的解决方案。