如何在显示当前日期的地方创建文本,但是一旦选择日期,它将显示所选日期?使用SwiftUI。谢谢

时间:2020-02-17 13:03:37

标签: swiftui swift5

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

我希望文本显示启动时的当前日期,但是当您在日历上选择其他日期时,它将显示所选的日期。我尝试使用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)

            }

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

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())")
            }

这将检查用户是否选择了一个日期,并显示当前日期,直到用户选择一个日期为止。这样,即使他们查看日历而不选择日期,它仍然会显示当前日期。