ถ้าซูเปอร์วิวของฉันเป็นช่องที่มีขนาด 10 หน่วยในแต่ละด้านและมุมมองย่อยของฉันกว้าง 20 หน่วยเมื่อclipsToBoundsตั้งค่าเป็นYESฉันจะเห็นเฉพาะส่วนของมุมมองย่อยที่อยู่ในขอบเขตของซุปเปอร์วิวเท่านั้น มิฉะนั้นหากclipsToBoundsตั้งค่าเป็นNOฉันจะเห็นมุมมองย่อยทั้งหมดแม้แต่ส่วนที่อยู่นอกซูเปอร์วิว (สมมติว่าเรายังอยู่บนหน้าจอ)
ตัวอย่างภาพให้พิจารณามุมมองต่อไปนี้ที่ตั้งค่าบนกระดานเรื่องราว:

นี้เป็นสีขาวUIViewป้ายในด้านบนซ้ายมุมมีทั้งง่าย "1" หรือ "2" เพื่อที่ฉันสามารถพูดคุยเหล่านี้หรือview1 view2นอกจากนี้มุมมองสีดำยังมีขนาดเท่ากับมุมมองสีขาว แต่จุดเริ่มต้นอยู่ที่จุดศูนย์กลางของมุมมองสีขาว
ในviewDidLoadวิธีของตัวควบคุมมุมมองเรามีรหัสต่อไปนี้:
วัตถุประสงค์ -C:
- (void)viewDidLoad {
[super viewDidLoad];
self.view1.clipsToBounds = YES;
self.view2.clipsToBounds = NO;
}
รวดเร็ว:
override func viewDidLoad() {
super.viewDidLoad()
self.view1.clipsToBounds = true
self.view2.clipsToBounds = false
}
เมื่อเรารันโค้ดและดูในโปรแกรมจำลองหรือบนอุปกรณ์เราจะได้ผลลัพธ์ดังต่อไปนี้:

ดังนั้นแม้ว่ามุมมองเหล่านี้จะถูกตั้งค่าเหมือนกัน (ยกเว้นclipsToBounds) แต่ก็ดูแตกต่างกัน นี่คือสิ่งที่clipsToBoundsทำ การตั้งค่าเป็นYESจะให้ผลลัพธ์ด้านบนในขณะที่ตั้งค่าNOให้เป็นผลลัพธ์ด้านล่าง
หากเราดีบักลำดับชั้นของมุมมองเราจะเห็นได้ชัดเจนยิ่งขึ้นว่ากล่องดำทั้งสองนั้นขยายผ่านมุมมองสีขาวไปแล้ว แต่มุมมอง 2 เท่านั้นที่แสดงสิ่งนี้เมื่อแอปทำงานจริง:

UITextViewมองไม่เห็นเงาถ้าclipsToBoundsคุณสมบัติเท่ากับtrue; เหรอ? ถ้าเป็นเช่นนั้นก็falseใช้ได้ดี