3

我刚刚开始使用 SwiftUI 应用程序,所以我要做的第一件事就是设置导航。

我从一个非常简单的 TabBar 开始,使用所有默认内容,包括图标的 SF 符号。

struct ContentView: View {
    var body: some View {
        TabView {
            ActivityView()
                .tabItem {
                    Image(systemName: "house.fill")
                    Text("Activity")
                }
            
            DiscoverView()
                .tabItem {
                    Image(systemName: "magnifyingglass")
                    Text("Discover")
                }
            
            MoreView()
                .tabItem {
                    Image(systemName: "ellipsis")
                    Text("More")
                }
            
        }
    }
}

它的渲染是这样的:

省略号在标签栏顶部附近对齐

为什么省略号不垂直居中?我认为 SF Symbols 的一大卖点是它们都会相互排列。

我真的很困惑。

4

1 回答 1

4

Xcode 12.5.1 和 13.0 测试版 1

“省略号”符号仍在渲染到 tabItem 框架的顶部,并且无法在 SwiftUI 中直接修改框架和偏移量。我通过将图像包装在 UIImage 中并删除基线来解决它。

    MoreView()
        .tabItem {
            Image(uiImage: UIImage(systemName: "ellipsis")!.imageWithoutBaseline())
            Text("More")
        }

在此处输入图像描述

于 2021-06-23T04:58:53.080 回答