как я заставляю кадр слоя автоматически изменять размер на основе кадра его суперслоя или кадра его представления?

Я экспериментирую с использованием cagradientlayer для рисования градиентов в нашем приложении вместо того, чтобы иметь подкласс uiview, управляют градиентами. Одна путаница, с которой я столкнулся, - то, что, когда представление, которое имеет градиент как подуровня его основного слоя, изменено для установки данным, я пытаюсь показать, слой не изменяет размер наряду с ним. Я заканчиваю тем, что имел конец слоя градиента в размере кадра, в то время как кадр моего представления намного больше.

Существует ли способ иметь подуровня, автоизменяют размер для установки кадру его суперслоя или кадру представления суперслоя?

9
задан Kevlar 26 May 2010 в 06:06
поделиться

1 ответ

Реализуйте layoutSubviews в подклассе вашего представления. Она вызывается при изменении размера рамки (или при вызове setNeedsLayout). Просто установите рамку слоя в границы представления:

-(void)layoutSubviews
{
    someSubview.frame = self.bounds;   // make the subview frame match its view
}
9
ответ дан 3 November 2019 в 00:58
поделиться