Почему свойства cornerRadius и maskToBounds не влияют на statusBar, если я установил цвет фона для statusBar?
(я новичок в Swift)
КОНТЕКСТ
Чего я хочу достичь:
Я хочу установить cornerRadius для каждого угла экрана в приложении.
Что я сделал до сих пор?:
// I added the following in appDelegate:didFinishLaunchingWithOptions
self.window?.layer.cornerRadius = 20
self.window?.layer.masksToBounds = true
Отлично работает в любом углу экрана, ЕСЛИ у строки состояния нет цвета фона.
Если backgroundColor установлен для statusBar, только нижние углы экрана будут округлены.
Я подозреваю, что происходит сбой: Я подозреваю, что statusBar находится внутри слоя поверх слоя, в котором находится окно, в котором я устанавливаю свойство cornerRadius, и поэтому это не делает с этим свойством. Если у statusBar нет backgroundColor (.clear), оно не закрывает окно, поэтому я вижу 4 угла, закругленных на экране.
Вот почему я попытался установить свойство cornerRadius для statusBar:
// Still in appDelegate:didFinishLaunchingWithOptions
UIApplication.shared.statusBarView?.layer.cornerRadius = 20
UIApplication.shared.statusBarView?.layer.masksToBounds = true
UIApplication.shared.statusBarView?.backgroundColor = .blue
self.window?.layer.cornerRadius = 20
self.window?.layer.masksToBounds = true
Он делает закругления углов в statusBar, если его значение меньше его высоты, НО, если значение cornerRadius выше высоты statusBar, он начинает вести себя странно, оставляя некоторое черное пространство между собой и навигационной панелью.
Есть ли способ установить "глобальную маску" или "глобальное свойство", которое также влияет на statusBar?
Я думал, что только установив cornerRadius для верхних углов, сработает, но, опять же, если cornerRadius выше его высоты, он оставит некоторое нежелательное пустое пространство.
Приветствуются предложения о том, чего я хочу, другими способами
Спасибо:)