日期选择器按钮 / Swiftui

met*_*r22 4 ios swift swiftui

我已经创建了一个日期选择器,但不知道如何在其下方放置按钮。\n你能做到吗?\nswiftui 我正在学习新内容。\n我已附上示例设计图像。\n我想要与图片中。

\n

在此输入图像描述

\n
@State private var zaman = Date()\n@State private var tarihGorun = false\n@State private var tarih = "Tarih Se\xc3\xa7iniz"\n
Run Code Online (Sandbox Code Playgroud)\n
\n
   DatePicker("",selection: $zaman,displayedComponents: .date).labelsHidden()\n            \n            .accentColor(.white)\n             .frame(width: 300, height: 50, alignment: .center)\n            .font(Font.system(size: 25, design: .default))\n             .padding(5)\n             .font(Font.system(size: 15, weight: .medium, design: .serif))\n             .overlay(\n                 RoundedRectangle(cornerRadius: 30)\n                     .stroke(Color(red: 45 / 255, green: 0 / 255, blue: 112 / 255), lineWidth: 1))\n            .onTapGesture {\n                self.tarihGorun = true\n            }\n        \n        if tarihGorun {\n            \n            \n            \n            HStack{\n                Button(action:{\n                    \n                    let zamanFormatter = DateFormatter()\n                    zamanFormatter.dateFormat = "MM/dd/yyyy"\n                    let alinanTarih = zamanFormatter.string(from: self.zaman)\n                    self.tarih = alinanTarih\n                    self.tarihGorun = false\n                }){\n                    Text("Tarih Se\xc3\xa7")\n                }\n                \n                Button(action:{\n                     self.tarihGorun = false\n                }){\n                    Text("Kapat").foregroundColor(Color.red)\n                }\n            }\n            \n        }\n
Run Code Online (Sandbox Code Playgroud)\n

nic*_*rno 9

这是您本周第三次以上发布同一问题。请不要转发问题。这是图像的示例,它只是一个常规的 DatePicker(),其下方带有按钮。

import SwiftUI


struct FirstView: View {
    
    @State var showDatePicker: Bool = false
    @State var savedDate: Date? = nil
    
    var body: some View {
        ZStack {
            HStack {
                Text("Selected date: ")
                Button(action: {
                    showDatePicker.toggle()
                }, label: {
                    Text(savedDate?.description ?? "SELECT DATE")
                })
            }
            

            if showDatePicker {
                DatePickerWithButtons(showDatePicker: $showDatePicker, savedDate: $savedDate, selectedDate: savedDate ?? Date())
                    .animation(.linear)
                    .transition(.opacity)
            }
        }
        
    }
}

struct DatePickerWithButtons: View {
    
    @Binding var showDatePicker: Bool
    @Binding var savedDate: Date?
    @State var selectedDate: Date = Date()
    
    var body: some View {
        ZStack {
            
            Color.black.opacity(0.3)
                .edgesIgnoringSafeArea(.all)
            
            
            VStack {
                DatePicker("Test", selection: $selectedDate, displayedComponents: [.date])
                    .datePickerStyle(GraphicalDatePickerStyle())
                
                Divider()
                HStack {
                    
                    Button(action: {
                        showDatePicker = false
                    }, label: {
                        Text("Cancel")
                    })
                    
                    Spacer()
                    
                    Button(action: {
                        savedDate = selectedDate
                        showDatePicker = false
                    }, label: {
                        Text("Save".uppercased())
                            .bold()
                    })
                    
                }
                .padding(.horizontal)

            }
            .padding()
            .background(
                Color.white
                    .cornerRadius(30)
            )

            
        }

    }
}



struct DatePickerWithButtons_Previews: PreviewProvider {
    static var previews: some View {
        FirstView()
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 查看 /sf/ask/2499019701/ (2认同)