我想知道如何使用
属性
..。
官方文档如下所述:
属性
一个布尔值,它确定是否将子视图限制在视图的边界内。
讨论
将此值设置为
导致子视图被剪裁到接收器的边界。如果设置为
,其帧延伸到接收器的可见边界之外的子视图不会被裁剪。默认值为
..。
但我不清楚这到底是什么意思。我应该如何使用
什么?将此属性设置为的后果是什么
确切地说?或转到
发布于 2013-12-08 11:14:42
如果我的superview是一个两边各有10个单位的盒子,而我的子视图有20个单位宽,
设置为
,我将只看到适合superview边界的那一部分子视图。否则,如果
设置为
,我会看到整个子视图,甚至是superview之外的部分(假设我们还在屏幕上)。
作为一个可视示例,请考虑在情节提要上设置的以下视图:

这是白色的
,在左上角有一个带有简单的"1“或"2”的标签,以便我可以将它们讨论为
或者
..。此外,黑色视图与白色视图的大小相同,但其原点位于白色视图的中心。
在视图控制器的
方法,我们有以下代码:
Objective-C:
- (void)viewDidLoad {
[super viewDidLoad];
self.view1.clipsToBounds = YES;
self.view2.clipsToBounds = NO;
}Swift:
override func viewDidLoad() {
super.viewDidLoad()
self.view1.clipsToBounds = true
self.view2.clipsToBounds = false
}当我们在模拟器或设备上运行代码并查看时,我们会得到以下结果:

因此,尽管这些视图的设置是相同的(除了
),它们看起来不同。这就是
确实如此。将其设置为
将提供最高结果,同时将其设置为
提供底部结果。
如果我们调试视图层次结构,我们可以更清楚地看到,两个黑盒实际上都延伸到了白色视图的边界之外,但只有视图2在应用程序实际运行时显示了这一点:

https://stackoverflow.com/questions/20449256
复制相似问题