SwiftUI:如何自定义仅适用于 iPad 的工作表?

标签 swift xcode swiftui

我是 SwiftUI 新手,遇到以下问题。当我点击 iPhone 上的按钮时,会出现以下内容

enter image description here

但是当我按下 iPad 上的按钮时,会出现以下内容

enter image description here

选择器不在整张纸上。如何才能像在 iPhone 上一样在整个工作表上显示 iPad 上的选择器?

    struct ContentView: View {
    @State var value_2 = 1
    @State var show_1 = false
    
    var body: some View {
        VStack {
            Button(action: {
                self.show_1.toggle()
            }) {
                    Text("Push")
                }
            .sheet(isPresented: $show_1) {
                Sheet(show_0: self.$show_1, value_1: self.$value_2)
            }
        }
    }
}

struct Sheet: View {
    @Binding var show_0: Bool
    @Binding var value_1: Int
    
    var body: some View {
        NavigationView {
            number(value_0: $value_1)
                .navigationBarTitle(Text("Enter number"), displayMode: .inline)
                .navigationBarItems(trailing: Button(action: {
                    self.show_0 = false
                }) {
                    Text("Done").bold()
            })
        }
    }
}

struct number: View {
    @Binding var value_0: Int
    
    var body: some View {
        Section {
            Text("Headline")
            Picker("",selection: $value_0)
                    {
                        ForEach(1..<101) { value in
                            Text("\(value)")
                }
            }
        }
        .labelsHidden()
    }
}

最佳答案

据我了解您的意图,您只需更改导航 View 的样式,例如

var body: some View {
    NavigationView {
        number(value_0: $value_1)
            .navigationBarTitle(Text("Enter number"), displayMode: .inline)
            .navigationBarItems(trailing: Button(action: {
                self.show_0 = false
            }) {
                Text("Done").bold()
        })
    }
    .navigationViewStyle(StackNavigationViewStyle())    // << here !!
}

关于SwiftUI:如何自定义仅适用于 iPad 的工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63927929/

相关文章:

json - 在 Siesta 中观察多个资源

swift - Pinterest-iOS 2.3 和 Swift : calling createPinWithImageURL results in EXC_BAD_ACCESS

swift - 在暂停 AVplayer 之前调用 HLS 的 AVAssetDownloadDelegate 方法

iphone - Swift3.0 无法将类型 'ClosedRange<Index>' 的值转换为类型 'Range<Index>'

ios - 无法将试用应用程序上传到 iPhone 进行测试

swiftui - 多级导航 SwiftUI

SwiftUI - 通过不同的操作响应点击和双击

ios - 将委托(delegate)回调转换为 SignalProducer 事件?

iOS 应用程序不会更改为 RTL 语言

swift - identified(by :\. self) - 它有什么作用?