Настройка пользовательского фонового изображения с помощью UINavigationBarAppearance

В моем приложении я использовал этот код до сих пор, чтобы установить настраиваемую графику на панели навигации:

UIImage *portraitImage = [[UIImage imageNamed:@"navbar_bg_portrait.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 100, 50, 100)];
UIImage *landscapeImage = [[UIImage imageNamed:@"navbar_bg_landscape.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 200, 0, 200)];
[self.navigationController.navigationBar setBackgroundImage:portraitImage forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setBackgroundImage:landscapeImage forBarMetrics:UIBarMetricsCompact];

Теперь, после установки XCode 11.4, это больше не работает. Я исследовал это и обнаружил, что теперь мне нужно использовать такой код:

if (@available(iOS 13.0, *)) {
UINavigationBarAppearance *appearance = [[UINavigationBarAppearance alloc] init];
UINavigationBar.appearance.scrollEdgeAppearance = appearance;
UINavigationBar.appearance.standardAppearance = appearance;
}

Как я могу использовать этот UINavigationBarAppearance для добавления пользовательского фона изображения на панель навигации?

0 ответов

Другие вопросы по тегам