swiftui - 如何创建一个显示当前日期的文本,但一旦选择日期,它将显示所选日期?使用 SwiftUI。谢谢
问题描述
我是编程和 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)
}
解决方案
你可以尝试这样的事情:
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())")
}
这将检查用户是否选择了一个日期,并将显示当前日期,直到用户选择一个。这样,即使他们查看日历并且没有选择日期,它仍然会显示当前日期。
推荐阅读
- react-hooks - React/Nextjs 上下文提供程序状态在第一次加载/刷新时无法访问,但在状态更改时工作正常
- ios - 授予设备权限后,地图图钉未显示在 MapKit 中
- android - Xamarin Forms Prism:prism ResourceDictionary 中已存在具有键“Xamarin.Forms.NavigationPage”的资源
- javascript - 为什么 setTimeout 和 setInterval 在浏览器和 Node.js 中的工作方式不同?
- c++ - Windows10 ld.exe 上的 GCC、GTK:找不到 -ldwmapi
- python - 无法在 Python 中输入(file.xml)
- r - ggplot2条形图中的颜色X轴
- bash - Bash 在键后获取单词
- python-3.x - Python shelve get() 和 keys() 方法返回不一致的结果
- html - 如何让我的联系表格电子邮件正常工作并显示信息?