SwiftUI TabView: .tabItem с пользовательским изображением не показывает - PullRequest
1 голос
/ 25 сентября 2019

У меня есть TabView, который должен показывать .tabItem с пользовательским изображением (не Image(systemName:)):

@ObservedObject var model: MaintainAreaSelectionModel = MaintainAreaSelectionModel()


... 

    var body: some View {

        VStack {
            Image("Timeline")

            TabView(selection: $model.lastSelectedMaintainAreaIndex) {

                SomeView()
                    .tabItem({

                            Image("Timeline")
                            Text("Title")
                    })
                    .tag(0)
            }
        }
    }
...

В то время как первый Image показывает значок правильно, второйImage показывает только серый круг.

Изображение является частью каталога Assets, я пробовал его с векторными изображениями PDF, а также с выделенными растровыми изображениями для всех размеров (согласно HIG от Apple) - нетразница, всегда серая.

Есть идеи, что здесь происходит?Возможно, существуют какие-либо недокументированные ограничения, которым изображение должно соответствовать, чтобы работать как tabItem?

1 Ответ

0 голосов
/ 26 сентября 2019

Прежде всего, вы должны настроить изображение для отображения как Original Image из Assets.

enter image description here

Затем установите renderMode вИзображение вкладки в виде .original

TabView(selection: $model.lastSelectedMaintainAreaIndex) {

            SomeView()
                .tabItem({

                        Image("Timeline").renderingMode(.original)
                        Text("Title")
                })
                .tag(0)
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...