在 Swift 中防止 UIView 溢出到 SuperView 之外
Prevent a UIView from Overflow outside SuperView in Swift
假设有一个 UIView(0,0,100,100),它有两个子视图,一个是 (-5,-5,10,10),第二个是 (0,95,10,10)。我想让第一个 SubView 从 superView 而不是 secondOne 溢出。 UIView 中是否有任何 属性 可以设置以防止 UIView 溢出它的 SuperView?或者实现此目标的最佳方法是什么?
注意: 这里坐标的形式是 (x,y,Width,Height)
更新: 由于有些人将这个问题标记为不清楚,让我添加一些要点:
- 我熟悉
clipToBounds
属性 的 UIView,但这会让它的所有子视图都被裁剪,但我的问题是反之亦然。
- 我只是想知道 UIView 中是否有任何 属性 可以防止 UIView 从它的 superView 溢出。
- 为了说明同样的问题,我只是举了一个例子,其中将 clipToBounds 设置为 superView 不会达到我们的目的,因为一个子视图需要从它的父视图溢出。
如有不明之处,请在评论中告诉我。
有一个名为 clipsToBounds
的 属性,但反之亦然 - 它告诉 UIView
它的所有子视图都被裁剪为不在其自身边界之外绘制。
因此,在您的情况下,如果您不想让一个视图超出范围,而另一个视图没有超出范围,您将需要额外的(透明)视图,该视图与超级视图具有相同的矩形,但会剪裁子视图.
然后将你的剪裁子视图添加为这个新透明层的子视图,另一个应该是父视图的直接子视图。
希望这对您有所帮助:)
您可以将 UIView 的 clipToBounds 属性 设置为 true。当您将 clipToBounds 设置为 yes 时,其子视图将不会溢出。
假设有一个 UIView(0,0,100,100),它有两个子视图,一个是 (-5,-5,10,10),第二个是 (0,95,10,10)。我想让第一个 SubView 从 superView 而不是 secondOne 溢出。 UIView 中是否有任何 属性 可以设置以防止 UIView 溢出它的 SuperView?或者实现此目标的最佳方法是什么?
注意: 这里坐标的形式是 (x,y,Width,Height)
更新: 由于有些人将这个问题标记为不清楚,让我添加一些要点:
- 我熟悉
clipToBounds
属性 的 UIView,但这会让它的所有子视图都被裁剪,但我的问题是反之亦然。 - 我只是想知道 UIView 中是否有任何 属性 可以防止 UIView 从它的 superView 溢出。
- 为了说明同样的问题,我只是举了一个例子,其中将 clipToBounds 设置为 superView 不会达到我们的目的,因为一个子视图需要从它的父视图溢出。
如有不明之处,请在评论中告诉我。
有一个名为 clipsToBounds
的 属性,但反之亦然 - 它告诉 UIView
它的所有子视图都被裁剪为不在其自身边界之外绘制。
因此,在您的情况下,如果您不想让一个视图超出范围,而另一个视图没有超出范围,您将需要额外的(透明)视图,该视图与超级视图具有相同的矩形,但会剪裁子视图.
然后将你的剪裁子视图添加为这个新透明层的子视图,另一个应该是父视图的直接子视图。
希望这对您有所帮助:)
您可以将 UIView 的 clipToBounds 属性 设置为 true。当您将 clipToBounds 设置为 yes 时,其子视图将不会溢出。