Сначала ваше расширение CAGradientLayer получает границы навигационной панели. Простая инициализация UINavigationBar () не будет работать, так как его граница будет (0,0,0,0), и, во-вторых, вам нужно использовать код ниже, чтобы установить его в качестве backgroundImage.
UINavigationBar.appearance().setBackgroundImage(flareGradientImage, for:.default)