Nếu chế độ xem siêu cấp của tôi là một hộp có kích thước 10 đơn vị mỗi bên và chế độ xem phụ của tôi rộng 20 đơn vị, clipsToBoundsđược đặt thành YES, tôi sẽ chỉ thấy phần chế độ xem phụ phù hợp với giới hạn của chế độ xem siêu tốc. Ngược lại, nếu clipsToBoundsđược đặt thành NO, tôi sẽ thấy toàn bộ chế độ xem phụ, thậm chí cả các phần bên ngoài chế độ xem siêu cao (giả sử chúng ta vẫn đang ở trên màn hình).
Để làm ví dụ trực quan, hãy xem xét các chế độ xem sau được thiết lập trên bảng phân cảnh:

Đây là một màu trắng UIView, một nhãn ở góc trên cùng bên trái với đơn giản là "1" hoặc "2" để tôi có thể thảo luận về chúng là view1hoặc view2. Ngoài ra, chế độ xem màu đen có cùng kích thước với chế độ xem màu trắng, nhưng điểm gốc của nó là ở tâm của chế độ xem màu trắng.
Trong viewDidLoadphương thức của bộ điều khiển chế độ xem , chúng ta có đoạn mã sau:
Mục tiêu-C:
- (void)viewDidLoad {
[super viewDidLoad];
self.view1.clipsToBounds = YES;
self.view2.clipsToBounds = NO;
}
Nhanh:
override func viewDidLoad() {
super.viewDidLoad()
self.view1.clipsToBounds = true
self.view2.clipsToBounds = false
}
Khi chúng tôi chạy mã và xem xét trong trình mô phỏng hoặc trên thiết bị, chúng tôi nhận được kết quả sau:

Vì vậy, mặc dù các khung nhìn này được thiết lập giống nhau (ngoại trừ clipsToBounds), chúng trông khác nhau. Đây là những gì clipsToBoundshiện. Đặt nó thành YESsẽ cung cấp kết quả trên cùng, trong khi đặt nó để NOcung cấp kết quả dưới cùng.
Nếu chúng tôi gỡ lỗi hệ thống phân cấp chế độ xem, chúng ta có thể thấy rõ ràng hơn rằng cả hai hộp đen đều thực sự mở rộng qua người nội trú của chế độ xem màu trắng, nhưng chỉ chế độ xem 2 hiển thị điều này khi ứng dụng thực sự đang chạy:

UITextViewbóng không nhìn thấy được, nếu thuộcclipsToBoundstính bằngtrue; ? Nếu cófalse, hoạt động tốt