Ios NavigationView标题中的SwiftUI多行文本

Ios NavigationView标题中的SwiftUI多行文本,ios,swift,uinavigationcontroller,swiftui,navigationview,Ios,Swift,Uinavigationcontroller,Swiftui,Navigationview,如何使此标题多行 我曾尝试将标题文本设置为多行,甚至使用AllowShigtening(flag:Bool)对其进行配置,但这些选项都不起作用 此处的当前代码: import SwiftUI struct DistributionCentersView: View { var dcViewModel = DistributionCenterViewModel() @State private var pickedSelectedData = 0 @State priv

如何使此标题多行

我曾尝试将标题文本设置为多行,甚至使用AllowShigtening(flag:Bool)对其进行配置,但这些选项都不起作用

此处的当前代码:

import SwiftUI

struct DistributionCentersView: View {
    var dcViewModel = DistributionCenterViewModel()
    @State private var pickedSelectedData = 0
    @State private var searchTerm = ""

    init() {
        //...

    }

    var body: some View {
        NavigationView {
            VStack {
                VStack {
                    Picker(selection: $pickedSelectedData, label: Text("")){
                        Text("All").tag(0)
                        Text("Nevial").tag(1)
                        Text("Net power").tag(2)
                    }.pickerStyle(SegmentedPickerStyle())
                        .foregroundColor(Color.white)
                        .background(Color(#colorLiteral(red: 0.03921568627, green: 0.03921568627, blue: 0.03921568627, alpha: 1)))
                    SearchBar(text: $searchTerm)
                }
                .padding(.leading, 16)
                .padding(.trailing, 16)
                .padding(.top, 34)

                List {
                    ForEach (dcViewModel.distribuitionCenters){ dc in
                        ZStack { 
                            DistributionCenterCell()
                                .listRowInsets(EdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0))
                            NavigationLink(destination: Text("Test")) {
                                EmptyView()
                            }.buttonStyle(PlainButtonStyle())
                        }// This optionm avoid tinting
                    }.listRowBackground(Color(#colorLiteral(red: 0.03921568627, green: 0.03921568627, blue: 0.03921568627, alpha: 1)))
                }
                .navigationBarTitle(Text(Constants.Distribution.text), displayMode: .large)//Desired multiline title
                .listStyle(GroupedListStyle())
                .navigationBarItems(leading: NavigationLink(destination: ProfileView()) { Image(Constants.NavImages.human).foregroundColor(Color.white)}, trailing: Image(Constants.NavImages.phone).foregroundColor(Color.white))
            }
            .background(Color(#colorLiteral(red: 0.03921568627, green: 0.03921568627, blue: 0.03921568627, alpha: 1)))
        }

    }
}

谢谢

正如Asperi所说,默认情况下不可能有多行导航栏标题。因此,根据Asperi的建议,我隐藏了默认标题,并设置了一个自定义文本()

。 .


为什么不更改标题的设计?从设计部门,标题必须有两行。请添加您的代码。据我所知,标准UINavigationBar(目前在NavigationView中使用)不支持多行文本标题。因此,如果这是一个要求,您需要自定义标题栏,并使用NavigationView进行导航,隐藏默认的导航栏。但这将打破用户滚动时导航栏中出现标题的固有行为。
VStack(alignment: .leading) {
                    Text(Constants.Distribution.text)
                    .font(.system(size: 34, weight: .heavy))
                    .foregroundColor(Color.white)
                }
.navigationBarTitle(Text(""), displayMode: .inline)