ios - SwiftUI 如何在 NavigationView 中强制导航栏分隔线

标签 ios swiftui

我的应用程序具有使用导航 View 的简单导航逻辑。我使用 inline 样式导航栏:

mainView
  .navigationBarTitleDisplayMode(.inline)

我注意到 Root View 缺少导航栏的分隔线。当我向上滚动内容时,它就会出现。

第一个屏幕截图显示了初始状态(没有导航栏分隔线):

enter image description here

第二个屏幕截图显示了我稍微向上滚动内容时的状态,并且显示了导航栏分隔线:

enter image description here

是否可以在不滚动的情况下始终显示分隔线?

最佳答案

我认为你可以通过在VStack下添加手动Divider和ScrollView来解决这个问题,这样divider就会出现在导航栏下方

//
//  testUI.swift
//  DDStore (iOS)
//
//  Created by belal medhat on 19/02/2022.
//

import SwiftUI

struct navTitleBar: View {
    var body: some View {
        NavigationView {
            // main navigationView
            VStack() {
                // vstack to add the divider and under it the scrollview
                Divider()
                ScrollView() {
                    Text("Hello, World!")
                }.navigationBarTitleDisplayMode(.inline).navigationTitle("Title")
            }
        }
    }
}

struct testUI_Previews: PreviewProvider {
    static var previews: some View {
        navTitleBar()
    }
}

enter image description here

关于ios - SwiftUI 如何在 NavigationView 中强制导航栏分隔线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71181121/

相关文章:

ios - 如何使用 SwiftUI 将手机锁定为纵向模式?

ios - SwiftUI:.fileImporter 修改器在通过点击文件选择器 "outside"关闭时不更新绑定(bind)

swiftui - 在 SwiftUI 的 DatePicker 上设置默认日期?

ios - 将 ImageBackground 调整为全屏

iphone - iOS 核心数据 - 插入前如何检查

ios - UIAlertController 在 iOS 8.4.1 中不显示警报

ios - SwiftUI:解除警报时如何执行关闭?

IOS 连接到 BLE 设备 EXC_BREAKPOINT at didSelectRowAtIndexPath

ios - Swift - 在 AppDelegate 中添加 subview

image - Coredata 图像转换 swiftUI