UINavigationController Фоновое изображение NavigationBar не работает после обновления XCode до 11.4 в Visual Studio Xamarin. iOS - PullRequest
0 голосов
/ 02 апреля 2020

Раньше я использовал этот код, сейчас он не работает. Я использую градиентное изображение, чтобы добавить на фоне панели навигации. Это работало до обновления xcode 11.4, но после обновления перестало работать. Кроме того, название также показано черным цветом. Я пытался изменить цвет, но это не сработало.

var img = UIImage.FromBundle("navbar_image").CreateResizableImage(UIEdgeInsets.Zero, UIImageResizingMode.Stretch);
NavigationController.NavigationBar.SetBackgroundImage(img, UIBarMetrics.Default);

Это до imgae This is before imgae

Теперь это выглядит так с заголовком в черном цвете Now it is showing like this with title in black color

1 Ответ

0 голосов
/ 03 апреля 2020

Этот код работал для меня.

if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
        {
            UINavigationBarAppearance appearance = new UINavigationBarAppearance();
            var img = UIImage.FromBundle("navbar_image").CreateResizableImage(UIEdgeInsets.Zero, UIImageResizingMode.Stretch);
            appearance.BackgroundImage = img;
            appearance.TitleTextAttributes = new UIStringAttributes { ForegroundColor = UIColor.White };
            appearance.BackgroundColor = UIColor.Blue;
            NavigationController.NavigationBar.CompactAppearance = appearance;
            NavigationController.NavigationBar.StandardAppearance = appearance;
            NavigationController.NavigationBar.ScrollEdgeAppearance = appearance;

        }
        else
        {
            var img = UIImage.FromBundle("navbar_image").CreateResizableImage(UIEdgeInsets.Zero, UIImageResizingMode.Stretch);
            NavigationController.NavigationBar.SetBackgroundImage(img, UIBarMetrics.Default);
            this.NavigationController.NavigationBar.Translucent = false;
        }
...