首页 > 解决方案 > iOS15导航标题在某些设备SwiftUI中未正确显示

问题描述

我试图弄清楚为什么导航标题不适用于某些设备,但我无法弄清楚这个问题。谁能帮我找出这个问题,为什么导航标题只显示前3个字母,然后显示?

我附上了截图也请检查。

iPhone 11 设备

截屏

iPhone 11 模拟器

截屏

代码:-

var body: some View {
    ZStack {
        Color.init(ColorConstantsName.MainThemeBgColour)
            .ignoresSafeArea()
        GeometryReader { geo in
            ScrollView(.vertical) {
                Text("Testing")
            }
        }
    }
    .navigationBarBackButtonHidden(true)
    .navigationTitle(CommonAllString.BlankStr)
    .navigationViewStyle(.stack)
    .navigationBarTitleDisplayMode(.inline)
    .navigationBarItems(leading:AnyView(leadingButton),trailing:AnyView(self.trailingButton))
    .foregroundColor(Color.white)
}

var trailingButton: some View {
    HStack {
        Image(systemName: ImageConstantsNameForChatScreen.PersonImg)
            .padding(.trailing)
        Image(ImageConstantsName.DTRShareIconImg)
            .resizable().frame(width: 20, height: 20)
    }
}

标签: swiftuinavigationios15

解决方案


下面的代码工作: -

struct PSScreen: View {

var body: some View {
    ZStack {
        Color.init("Colour")
            .ignoresSafeArea()
        VStack{
            Text("PSScreen")
        }
    }
    .navigationBarBackButtonHidden(true)
    .navigationBarTitle("", displayMode: .inline)
    .navigationViewStyle(.stack)
    .navigationBarTitleDisplayMode(.inline)
    .toolbar {
        ToolbarItem(placement: .navigationBarLeading) {
            leadingButton.frame(width: 50, alignment: .leading)
        }
        
        ToolbarItem(placement: .navigationBarTrailing) {
            trailingButton
        }
    }.foregroundColor(Color.white)
}

var leadingButton: some View {
    HStack{
        Text("Profile")
    }
}

var trailingButton: some View {
    HStack {
        Image(systemName: "Person")
            .padding(.trailing)
        Image("Share")
            .resizable().frame(width: 20, height: 20)
       }
    }
}

推荐阅读