SwiftUI TabView:具有自定义图像的.tabItem不显示

时间:2019-09-25 08:35:31

标签: swiftui

我有一个 "configurations": [ { "type": "chrome", "request": "launch", "name": "Launch Chrome", "url": "http://localhost:4207", "webRoot": "${workspaceFolder}/src", "userDataDir": true, "runtimeArgs": [ "--remote-debugging-port=9222", " --profile-directory=Profile 2" ] } ] ,其中应显示一个带有自定义图片的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目录的一部分,我尝试了使用PDF矢量图像以及适用于所有尺寸的专用位图(根据Apple的HIG)-没什么区别,总是灰色。

你知道这里发生了什么吗?图像是否必须满足任何Assets才能执行的未记录约束?

1 个答案:

答案 0 :(得分:0)

首先,您必须将Image设置为从Original Image起以Assets的形式呈现。

enter image description here

然后在标签栏中将renderMode设置为.original

TabView(selection: $model.lastSelectedMaintainAreaIndex) {

            SomeView()
                .tabItem({

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