小编Mik*_*oon的帖子

VideoPlayer 视图可防止 SwiftUI 导航栏隐藏

VideoPlayer当我将view 放入NavigationView的父视图或子视图中时,就会出现问题。在此示例中,子视图将显示导航栏:

struct ParentView: View {
  var body: some View {
    NavigationView {
      VStack {
        Text("Parent View")

        NavigationLink(destination: ChildView().navigationBarHidden(true)) {
          Text("Child View")
        }
      }
      .navigationBarHidden(true)
    }
  }
}

struct ChildView: View {
  var body: some View {
    VStack {
      Text("Child View")
      VideoPlayer(player: AVPlayer())
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

navigationbar avkit navigationview swiftui swiftui-navigationlink

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

如何在 SwiftUI 中完全禁用 NavigationLink 的内容突出显示?

        NavigationLink(destination: DetailView()) {
            Image(systemName: "cloud.heavyrain")
                .foregroundColor(Color.accentColor)
                .font(.system(size: 66, weight: .regular))
        }
        .buttonStyle(PlainButtonStyle())
Run Code Online (Sandbox Code Playgroud)

在此示例中,.buttonStyle(PlainButtonStyle()) 修饰符将突出显示更改为非常温和但仍然可见的效果。

swift navigationview swiftui swiftui-navigationlink

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

如何让按钮(或任何其他元素)在点击时显示 SwiftUI 的 DatePicker 弹出窗口?

我正在尝试实现最简单的用例,但我无法弄清楚。我有一张日历图片。我想要的只是在点击图片时显示 DatePicker 弹出窗口。我试图将它放在 ZStack 中,但这样做我无法隐藏默认数据文本字段:

ZStack {
    Image("icon-calendar")
    .zIndex(1)
    DatePicker("", selection: $date)
    .zIndex(2)
}
Run Code Online (Sandbox Code Playgroud)

如何在没有荒谬的解决方法的情况下本地制作这种简单的布局?

ios swift swiftui

3
推荐指数
4
解决办法
1115
查看次数

Swift 中的 Guard let foo = foo VS Guard foo != nil

如果任务只是解开值,我不明白创建无用常量的概念:

guard let foo = foo else { return }
Run Code Online (Sandbox Code Playgroud)

guard foo != nil else { return }
Run Code Online (Sandbox Code Playgroud)

这些说法有什么区别?不使用后者的原因是什么?

下面是一些使用guard let的例子:

var array: [String] = ["pineapple", "potato", "corn"]

guard let lastElement = array.last, lastElement == "corn" else { return false }
Run Code Online (Sandbox Code Playgroud)

并且不使用let:

guard array.last == "corn" else { return false }
Run Code Online (Sandbox Code Playgroud)

难道我不能采用第二种方法,因为它更干净、更简单,而且内存效率更高?

guard ios swift

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