Привет всем! В моем приложении реализованы функции управления Темным режимом iOS 13 . У меня проблема с фоном моего ViewController.
Мой видКонтроллер имеет цвет градиента фона, полученный с помощью CAGradientLayer
.
Мне удалось изменить цвета, которые составляют градиент, на основе выбора пользователя, когда он выходит из Темный режим ---> Светлый режим и Светлый режим ---> Темный режим ..
Моя проблема в том, что когда пользователь отправляет в фоновом режиме мое приложение, чтобы перейти в центр управления и изменить режим, цветаградиента, который я использовал для цвета фона, меняются не сразу ...
Чтобы изменить цвет градиента, пользователь должен закрыть приложение и снова открыть его.
Очень плохой пользователь.Я хотел спросить вас, как решить эту проблему ...
Это то, что я использую, чтобы изменить цвета моего градиента на основе выбранного пользователем режима iOS
- (void)viewDidLoad {
[super viewDidLoad];
[self setupBackground];
}
- (void)setupBackground {
UIColor *secondaryColor = self.view.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark ? UIColor.customRedColor : UIColor.customGreenColor;
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = UIApplication.sharedApplication.windows.firstObject.bounds;
gradient.colors = @[(id)UIColor.customBlueColor.CGColor, (id)secondaryColor.CGColor];
gradient.locations = @[@0.1, @0.9];
[self.view.layer insertSublayer:gradient atIndex:0];
}