我是编程和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)
}
答案 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())")
}
这将检查用户是否选择了一个日期,并显示当前日期,直到用户选择一个日期为止。这样,即使他们查看日历而不选择日期,它仍然会显示当前日期。