Якщо мій нагляд - це вікно розміром 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, працює чудово