停止导航控制器?从滚动到底部时出现

Posted

技术标签:

【中文标题】停止导航控制器?从滚动到底部时出现【英文标题】:Stopping Navigation Controller? from Appearing When Scrolling to the Bottom 【发布时间】:2020-06-19 10:47:39 【问题描述】:

ScrollViewVStack 内部有四个水平堆栈 (HStack)。我在每个水平堆栈 (HStack) 中有一对 ZStack 东西。以下是我的代码。

import SwiftUI

struct ContentView: View 
    var body: some View 
        NavigationView 
            ScrollView 
                VStack(spacing: 0) 
                    HStack(spacing: 0) 
                        ZStack 
                            Rectangle().frame(width: UIScreen.screenWidth / 2.0, height: UIScreen.screenWidth / 2.0, alignment: .topLeading)
                                .foregroundColor(.orange)
                                .border(Color.yellow, width: 2)
                            NavigationLink(destination: AliceView()) 
                                Text("Alice")
                                    .foregroundColor(Color.black)
                                    .font(.largeTitle)
                            
                        
                        ZStack 
                            Rectangle().frame(width: UIScreen.screenWidth / 2.0, height: UIScreen.screenWidth / 2.0, alignment: .topLeading)
                                .foregroundColor(.orange)
                                .border(Color.yellow, width: 2)
                            NavigationLink(destination: KimView()) 
                                Text("Kim")
                                    .foregroundColor(Color.black)
                                    .font(.largeTitle)
                            
                        
                    

                    HStack(spacing: 0) 
                        ...
                        ...
                        ...
                    

                    HStack(spacing: 0) 
                        ...
                        ...
                        ...
                    

                    HStack(spacing: 0) 
                        ...
                        ...
                        ...
                    
                
            
            .edgesIgnoringSafeArea(.all)
            .statusBar(hidden: true)
            .navigationBarTitle("")
        
    

当我滚动到顶部时,屏幕顶部没有显示任何内容。但是当我滚动到底部时,会出现一个看起来像导航控制器的水平条。如何阻止看起来像导航控件的水平条出现?谢谢。

【问题讨论】:

【参考方案1】:

你需要隐藏导航栏

.navigationBarTitle("")
.navigationBarHidden(true)    // << add this !!

【讨论】:

以上是关于停止导航控制器?从滚动到底部时出现的主要内容,如果未能解决你的问题,请参考以下文章

MKMapView 在滚动到底部并触发控制中心后停止滚动

滑动 ViewController 时出现导航栏错误

将标签栏控制器与导航控制器一起使用时出现问题

搜索处于活动状态并推送到下一个视图控制器时出现导航栏问题

为啥我的导航栏在向下滚动时不隐藏而在向上滚动时出现?

使用 SwiftUI 在 WatchOS 中实现从主控制器导航到基于页面的控制器的问题