0

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

注意:这里的坐标是 (x,y,Width,Height)

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

  1. 我熟悉clipToBoundsUIView 的属性,但这会让它的所有子视图都被剪裁,但我的问题是反之亦然。
  2. 我只是想知道 UIView 中是否有任何属性可以防止 UIView 从它的 superView 溢出。
  3. 为了说明同样的问题,我只是举了一个例子,其中将 clipToBounds 设置为 superView 不会达到我们的目的,因为一个子视图需要从它的父视图溢出。

如果仍然不清楚,请在评论中告诉我。

4

2 回答 2

6

有一个名为 的属性clipsToBounds,但反之亦然 - 它告诉 aUIView它的所有子视图都被剪裁为不被绘制到它自己的边界之外。

因此,在您的情况下,如果您不想让一个视图超出范围,而另一个视图则没有,您将需要额外的(透明)视图,该视图将具有与超级视图相同的矩形,但会剪切子视图。

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

希望这可以帮助 :)

于 2018-04-16T10:39:16.727 回答
0

您可以将 UIView 的 clipToBounds 属性设置为 true。当您将 clipToBounds 设置为 yes 时,它的子视图不会溢出。

于 2018-04-16T10:41:34.893 回答