SwiftUI 如何在工作表上添加灰色线条

Tim*_*let 3 swiftui

我知道如何使用 HStack 和矩形添加此元素。但...

1)怎么称呼?

2) SwiftUI 的盒子里有这个元素吗?

未知元素

Han*_*kke 20

iOS16:

如果您有多个制动装置,它会自动添加,因此对于只有一个制动装置,您必须明确其可见性:

yourContentView
    .presentationDetents([.medium])
    .presentationDragIndicator(.visible)
Run Code Online (Sandbox Code Playgroud)


sou*_*lix 13

  1. 这个东西叫做Drag Indicator.
  2. iOS 16+中,您可以使用.presentationDragIndicator(_:)修饰符来控制其可见性。

已就如何在早期 iOS 版本中模拟此拖动指示器提出了建议。

作为 John M. 和 happymacaron 的精彩答案的一个小补充,这更接近:

ZStack(alignment: .top) {
    // NavigationView
    Capsule()
        .fill(Color.secondary)
        .opacity(0.5)
        .frame(width: 35, height: 5)
        .padding(6)
}
Run Code Online (Sandbox Code Playgroud)


Joh*_* M. 5

我不认为它有一个公认的名字。我通常称它为拖动手柄,因为它在那里向用户指示可拖动区域。

没有内置语法可以将一个添加到工作表中。这就是 SwiftUI 的好处——简单的控件易于实现和定制。

为了完整起见,您可以使用以下内容制作一个:

VStack {
    Capsule()
        .fill(Color.secondary)
        .frame(width: 30, height: 3)
        .padding(10)

    // your sheet content here

    Spacer()
}
Run Code Online (Sandbox Code Playgroud)