小编Max*_*x B的帖子

SwiftUI navigationBarItems 在 TabView 中消失

我有一个包含导航栏项目的视图,并将该视图嵌入到TabView. 但这样做时,栏项目不再出现。如果我在 a 之外调用视图,TabView一切都会按预期进行。

下面是一个小示例项目来说明我的问题,请注意,TabView最初不会调用ContentView,但稍后会调用:

import SwiftUI

struct ContentView: View {
    var body: some View {
        NavigationView{
            NavigationLink(destination: WarehouseOrderTabView()){
                Text("Click me")
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

struct WarehouseOrderTabView: View {
    var body: some View {
        TabView{
            TabView1().navigationBarTitle("Dashboard")
                .tabItem {
                    Image(systemName: "gauge")
                    Text("Dashboard")
            }

            TabView2().navigationBarTitle("Orders")
                .tabItem {
                    Image(systemName: "list.dash")
                    Text("Orders")
            }
        }
    }
}

struct TabView1: View {
    var body: some …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

2
推荐指数
1
解决办法
2825
查看次数

SwiftUI 嵌套导航视图显示多个导航栏

我的 ContentView 包括一个 NavigationView,我通过 NavigationLink 向下钻取到显示列表的 OverviewView,然后通过 NavigationLink 向下钻取到 DetailView。现在我想点击 DetailView 中的文本并调出另一个视图,但是当我现在尝试向该对象添加 NavigationLink 时,我收到一条错误,指出 NavigationLink 需要嵌入到 NavigationView 中,因此我将代码更改为

\n\n
    NavigationView{  \n  ScrollView() {  \n  VStack{  \n  VStack(spacing: -25) {  \n  HStack(spacing: -25) {  \n  NavigationLink(destination: WarehouseOrderLinesView(warehouseOrderLines: warehouseOrderLineController.warehouseOrderLines)){  \n  TaskSummaryView(title: "Total Lines", color: .blue, icon: "list.dash", value: warehouseOrderLineController.warehouseOrderLines.count)  \n  } \n
Run Code Online (Sandbox Code Playgroud)\n\n

但现在由于另一个 NavigationView 中有一个 NavigationView,我最终在顶部有 2 个导航栏。

\n\n

2 个导航栏

\n\n

有没有办法使用 NavigationLink 而不将其嵌入到另一个 NaviagationView 中,或者通过不使用 NavigationLink 和 .sheet 之类的东西导航到另一个视图(我不想将新视图显示为模态!)。

\n\n

下面是完整的测试示例代码:

\n\n
\n//  \n//  ContentView.swift  \n//  Two Navbars  \n//  \n//  Created …
Run Code Online (Sandbox Code Playgroud)

swiftui-navigationlink

1
推荐指数
1
解决办法
2788
查看次数

SwiftUI 让View自动消失

我有一个由按钮触摸触发的视图。看起来不错,一切都很好。现在我希望视图在几秒钟后再次自动消失。

视图应该自动消失,无需再次点击按钮。

下面是我的测试项目

import SwiftUI  

struct ContentView: View {  
  @State private var presentClipboardView = false  
  @State private var scale: CGFloat = 1.0  


  var body: some View {  
  VStack{  
  Button(action: {  
  let pasteboard = UIPasteboard()  
  pasteboard.string = "http://I_AM_A_URL.com"  

  withAnimation(.easeInOut(duration: 2)) {  
  self.presentClipboardView.toggle()  
  }  
  }, label: {  
  HStack {  
  Image(systemName: "list.dash")  
  .padding(.trailing)  
  VStack(alignment: .leading) {  
  Text("Open URL")  
  .font(.headline)  
  }  

  Spacer()  
  }  
  }  
  )  
  if(self.presentClipboardView){  
  LabelView()  
  }  
  }  

  }  
}  

struct ContentView_Previews: PreviewProvider {  
  static var previews: some View {  
  ContentView()  
  }  
} …
Run Code Online (Sandbox Code Playgroud)

swiftui

0
推荐指数
1
解决办法
2740
查看次数

标签 统计

swiftui ×2

swift ×1

swiftui-navigationlink ×1