更改 SwiftUI 中导航栏的大小

Ces*_*are 5 xcode uikit navigationbar swiftui swiftui-navigationview

你好,SO社区

我正在尝试从我的 SwiftUI 应用程序中的苹果手机联系人选项卡重新创建导航栏。 在此输入图像描述

我尝试过.toolbar并进行了修改,但确实无法重新创建它。我想将 TextField 替换为 SegmentPicker 并保存.navigationBarTitleDisplayMode(.inline). 但不知道是否可以仅使用 SwiftUI 来获取它,或者需要深入研究 UIKit。我不是 UIKit 的专家,我会很高兴获得任何帮助。我想在应用程序的精确屏幕中使用此导航栏,并且如果可能的话,不要更改我对应用程序其他部分的导航栏的偏好。我的代码:

import SwiftUI

struct NavBar: View {

@State var pickerOptions: Int = 0

var body: some View {
    NavigationView {
        ScrollView(.vertical) {
            VStack {
                Text("Hello, World!")
            }
        }
        .navigationBarTitleDisplayMode(.inline)
        .toolbar {
            ToolbarItem(placement: .principal) {
                SegmentPicker
            }
            ToolbarItem(placement: .navigationBarTrailing) {
                Image(systemName: "plus")
            }
            ToolbarItem(placement: .navigationBarLeading) {
                Text("Groups")
            }
        }
    }
}

private var SegmentPicker: some View {
    VStack {
        Text("Contacts").font(.body.weight(.semibold))
        Picker("Options", selection: $pickerOptions) {
            Text("Cons").tag(0)
            Text("Prons").tag(1)
        }
        .pickerStyle(.segmented)
        .frame(width: 200)
    }
}
}
Run Code Online (Sandbox Code Playgroud)