防止UIView在Swift的SuperView外部溢出

Kau*_*anu -1 calayer ios cliptobounds swift

假设有一个UIView(0,0,100,100),它具有两个SubView,一个是(-5,-5,10,10),第二个是(0,95,10,10)。我想让第一个SubView从superView溢出,而不是secondOne。UIView中是否可以设置任何属性,以防止UIView的SuperView溢出?或实现此目标的最佳方法是什么?

注意:此处的坐标为(x,y,Width,Height)的形式

更新:由于有些人将这个问题标记为不清楚,所以让我添加一些要点:

  1. 我熟悉clipToBoundsUIView的属性,但是这会让所有subViews都被裁剪,但是我的问题是相反的。
  2. 我只是想知道UIView中是否有任何属性,可以防止UIView的superView溢出。
  3. 为了说明相同的问题,我仅举了一个示例,其中将clipToBounds设置为superView将无法达到我们的目的,因为一个subView需要从其父View溢出。

如果尚不清楚,请在评论中让我知道。

hri*_*.to 5

有一个称为的属性clipsToBounds,但反之亦然-它告诉a UIView子视图的所有内容都被裁剪为不会在其自身的边界之外绘制。

因此,在您的情况下,如果您不希望有一个超出范围的视图,而又没有一个超出范围的视图,则将需要其他(透明)视图,该视图具有与父视图相同的矩形,但会裁剪子视图。

然后将您的裁剪子视图添加为该新透明层的子视图,另一个视图应直接作为父视图。

希望这可以帮助 :)