Используя Swift 5, я создаю градиентные фоны для представлений в UIPageControl:
var pageControl = UIPageControl()
func configurePageControl() {
self.view.applyGradient(colors: [UIColor.HL.PurpleStart,UIColor.HL.PurpleEnd])
}
Отлично работает ... все страницы имеют этот фиолетовый градиентный фон. Но когда вы поворачиваете устройство, градиент поворачивается, но сохраняет свой первоначальный размер, который является размером кадра устройства в предыдущей ориентации.
Так что я просто хочу перерисовать градиент при повороте устройства. Я использую следующий метод, который успешно выполняется после завершения вращения устройства:
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
coordinator.animate(alongsideTransition: nil, completion: { _ in
self.view.applyGradient(colors: [UIColor.HL.PurpleStart,UIColor.HL.PurpleEnd])
})
}
Но это добавляет новый градиентный фон под существующим. self.view.applyGradient()
является более современным методом применения градиентных фонов, чем другие примеры для SO, поэтому другие решения, похоже, не применяются. Так как же удалить / заменить существующий градиент при использовании self.view.applyGradient()
?