我有一个UIImageView
我正在动态设置图像(来自 URL)。图像可能具有任意大小/纵横比。我设置contentMode
为 Aspect Fill 并将视图的图层设置clipsToBounds
为YES
,并且它显示正确。但是,我也想在图像视图下显示阴影。当我在图像视图的图层上设置阴影时,我需要设置clipsToBounds
为NO
要显示阴影,这会导致显示视图中图像的出血部分。如何保持图像视图大小不变(填充方面)并同时启用阴影?
一种选择可能涉及创建图形上下文并将图像重新绘制到该上下文中,获取具有我所需纵横比的图像并将该图像设置为我的图像视图的图像,但这是额外的处理/浪费 CPU/GPU 和正常世界时间(特别是如果我有大量带有大图像的图像视图)。
另一种选择可能涉及以与我的图像视图相同的大小创建一个空白视图,将其插入到我的超级视图中的我的视图下方,使用约束将其动态附加到我的视图,并在该视图的图层上启用阴影。这还涉及为阴影创建一个额外的视图。可能比第一个更好/更有效的解决方案,但仍然需要额外的工作(CPU 方面)。
是否有任何不需要额外工作的选项可以在我的条件下启用阴影和方面拟合?