问题现象
在SwiftUI中,一般来说每个视图会根据其边界自动裁剪子视图的显示内容,这意味着,如果你的视图上有超出其边界显示的内容,它们会被裁剪掉:
如上图所示,顶部闪烁着的“热卖中!”标签由于超出了其父视图产品图片的边界所以被裁减掉,导致外观显示不完整。
我们有没有办法在不大幅度改动视图继承层级的情况下,让“热卖中!”标签显示完整呢?
答案是肯定的!
只需要稍作更改,我们即可让任意继承层级视图中超出边界的内容完整无缺的显示出来。
Let’s fix it!!! 😃
问题分析
1. 增大Z轴不是万能药
有的童鞋可能认为增大视图的Z轴索引可以让其“自动”显示在其他视图上方,从而避免被“遮挡”:
VStack