AnDVa
@AnDVa

Как сделать чтобы при повороте экрана Gradient был на весь экран?

let GradientLayer = CAGradientLayer()
        GradientLayer.frame = self.view.bounds //рамка нашего градиента = границам вью
        GradientLayer.colors = [ #colorLiteral(red: 0.1607843137, green: 0.1764705882, blue: 0.5137254902, alpha: 1).cgColor , #colorLiteral(red: 0.8392156863, green: 0.6666666667, blue: 0.7960784314, alpha: 1).cgColor ]
        GradientLayer.startPoint = CGPoint(x: 0.0, y: 0.0)
        GradientLayer.endPoint = CGPoint(x: 0.0, y: 1.0)
        self.view.layer.insertSublayer(GradientLayer, at: 0)


есть код, по созданию градиента.
В вертикальном положении все норм, он на весь экран, как и надо
При горизонтальном, он становится только на половину экрана, а не растягивается, как хотелось бы
spoiler
5be9b36bdaaf5572450549.png5be9b3635ac83895936212.png
  • Вопрос задан
  • 131 просмотр
Пригласить эксперта
Ответы на вопрос 2
Vovanys
@Vovanys
просто размер вьюхи (self.view.bounds) надо изменять и перезапускать функцию

нужно чтобы при перевороте экрана происходила перерисовка из-за изменений размеров вью
if UIDevice.current.orientation.isPortrait {
//тут перерисовка
}
Ответ написан
Комментировать
briahas
@briahas
ObjC, Swift, Python
Поддерживаю Vovanys , и дополняю - все работы со слоями требуют ручного менеджмента размеров. К ним не применяются ни какие автолейауты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы