UIView скрыть дочерние представления, когда за пределами границ


У меня есть вид, скажем 100x100. И он имеет набор uiviews как subviews: Пусть говорят 30x30

Если подвида имеет верхнюю левую координату: (90,90) - я ожидаю увидеть только часть этого подвида. Но я все равно вижу всю область - даже если она находится за пределами родительских границ

вопрос в том, как сделать uiview, чтобы показать только те части подвида, которые находятся в исходных границах?

спасибо

4 60

4 ответа:

настройка вида clipsToBounds свойство YES.

программно: view.clipsToBounds=YES;

через interface builder:Click the view->Attributes Inspector->Check Clip subviews

Я думаю, что вы хотите включить "клип подпанелей" на родительском виде.

в документации сказано, что clipsToBounds свойство UIView будет обрезать чертеж до границ, или точнее, что подвид не может рисовать за пределами границ супервизора.

подробнее Читайте так пост

свойство UIView clipsToBounds: улучшает ли оно производительность?

действительно, в раскадровке установите флажок родительского UIView "Clip Subviews". Вот как это работало для меня.