Логическое значение, определяющее, ограничены ли подпредставления границами представления. — Документы Apple
Установка этого значения на true
приводит к тому, что подпредставления обрезаются до границ представления. Если установлено значение false
, подвиды, кадры которых выходят за видимые границы вида, не обрезаются. Значение по умолчанию — false
. Некоторые подклассы UIView
, такие как UIScrollView
, переопределяют значение по умолчанию на true
.
Давайте разберемся в этом с помощью примера. Создайте новый проект Xcode. Поместите UIView в центр экрана. Задайте для него некоторые ограничения и цвет (в данном случае коричневый), чтобы он выглядел отчетливо.
Создайте IBOutlet коричневого цвета и назовите его brownView
. Теперь добавьте следующий код в метод viewDidLoad
и запустите приложение.
brownView.layer.cornerRadius = 40
Мы получаем следующий вывод
Теперь добавьте новый UIView внутрь brownView и задайте для него ограничения (0,0,0,0) с помощью brownView, как показано здесь.
Теперь снова запустите приложение.
Мы замечаем, что redView
не имеет углового радиуса. Но почему? Он находится внутри brownView
, и мы передали cornerRadius
brownView
, и, следовательно, он должен иметь cornerRadius
.
Когда мы задаем закругленные углы представления в приложении для iOS, мы можем заметить, что представление выглядит закругленным, но любой контент внутри него (например, изображения или текст) выходит за края закругленных углов. Установка clipsToBounds
на true
в представлении гарантирует, что содержимое внутри представления также обрезается по закругленным углам, благодаря чему все выглядит аккуратно и аккуратно. Это похоже на вырезание фотографии, чтобы она поместилась в рамку: если фотография слишком большая, мы обрезаем края, чтобы она хорошо помещалась.
Теперь добавьте эту строку в viewDidLoad
и перезапустите приложение.
brownView.clipsToBounds = true
Если вы нашли эту статью полезной, пожалуйста, поделитесь этой историей, подпишитесь на меня в среде и поаплодируйте 👏. Спасибо!