如何创建一个显示当前日期的文本,但一旦选择了日期,它就会显示所选日期?使用 SwiftUI。谢谢

How do I create a text where it will show current date, but once date is selected it will show the selected date instead? Using SwiftUI. Thank you

我是编程和 SwiftUI 的新手,我正在尝试学习如何创建个人日记应用程序。

我想要一个文本在启动时显示当前日期,但是当您 select 日历上的不同日期时,它会显示 selected 日期。我尝试使用 if else 条件,但它不能正常工作。我认为这是因为我使用了 "if singleisPresented != false" 所以它只在我点击按钮时出现。但是我应该改用什么?非常感谢大家。

我正在使用 RKCalendar (https://github.com/RaffiKian/RKCalendar) 来帮助我处理日历。

                Button(action: { self.singleIsPresented.toggle() }) {
                Image(systemName: "calendar")
                    .foregroundColor(.black)
                    .frame(width: 18, height: 25)
            }
            .sheet(isPresented: self.$singleIsPresented, content: {
                RKViewController(isPresented: self.$singleIsPresented, rkManager: self.rkManager)})
                .onAppear(perform: startUp)
                .navigationViewStyle(StackNavigationViewStyle())

                if singleIsPresented != false {
                Text(self.getTextFromDate(date: self.rkManager.selectedDate))
                    .font(.headline)
                    .fontWeight(.bold)

            } else {
                Text(currentDate(date: Date()))
                    .font(.headline)
                .fontWeight(.bold)

            }

您可以尝试这样的操作:

Button(action: { self.singleIsPresented.toggle() }) {
                Text("Example 1 - Single Date Selection").foregroundColor(.blue)
            }
            .sheet(isPresented: self.$singleIsPresented, content: {
                RKViewController(isPresented: self.$singleIsPresented, rkManager: self.rkManager1)})

            if rkManager1.selectedDate != nil {
            Text(self.getTextFromDate(date: self.rkManager1.selectedDate))
            } else {
                Text("\(Date())")
            }

这会检查用户是否select输入了日期,并会显示当前日期,直到用户select输入日期为止。这样,即使他们查看日历但没有 select 日期,它仍会显示当前日期。