微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SwiftUI 中的进度日历

如何解决SwiftUI 中的进度日历

我正在我的应用中构建进度日历功能。我的应用程序中有一个进度条,如果用户在当天达到 100%,我想在日历中向他们显示一个复选标记,以便他们可以看到他们在哪几天完成了目标。 建造它的方法是什么? 我想我可以为一个月中的每一天设置一个变量,并在当天用户达到 100% 时使其变为真,但这似乎是一个非常糟糕的解决方案。

这是我的日历使用情况。

CalendarView(interval: year) { date in
                                if calendar.component(.day,from: date) == calendarCurrent.component(.day,from: currentDate) {
                                    ZStack {
                                        Text("30")
                                            .hidden()
                                            .padding(8)
                                            .overlay(
                                                RoundedRectangle(cornerRadius: 10,style: .continuous)
                                                    .stroke(Color(red: 50/255,green: 104/255,blue: 144/255),style: strokeStyle(linewidth: 2)))
                                            
                                            .padding(.vertical,4)
                                            .overlay(
                                                Text(String(self.calendar.component(.day,from: date))).bold())
                                            .foregroundColor(.white)
                                        
                                        
                                    }
                                } else {
                                    ZStack {
                                        Text("30")
                                            .hidden()
                                            .padding(8)
                                            .background(Color(red: 50/255,blue: 144/255))
                                            .clipShape(RoundedRectangle(cornerRadius: 10))
                                            .padding(.vertical,from: date))).bold())
                                            .foregroundColor(.white)
                                    }
                                }
                            }

解决方法

我能够通过将数据保存到字典中并每天更新其值来解决这个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。