WeeklyCalendar is an week display calendar view in SwiftUI emulating iPhone's Calendar app UI.
![light mode git](https://private-user-images.githubusercontent.com/77086210/284447164-af24f842-da0e-41cd-9da5-9ec3eab4d5dd.gif?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDE0MDYsIm5iZiI6MTcyMTMwMTEwNiwicGF0aCI6Ii83NzA4NjIxMC8yODQ0NDcxNjQtYWYyNGY4NDItZGEwZS00MWNkLTlkYTUtOWVjM2VhYjRkNWRkLmdpZj9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMTE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWM0ODA0YmI2ZmQwZWFkYmU3MjE5NGE5Mzk3ZTRiODkyMWVlNDNjOWI3NTVhMDc1OTk5NDhhZWQyM2NjZjdhMTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.23duTjA179CuLPeSMpUvvJ4LnX6eLELJGyrFXnuRliU)
![light mode](https://private-user-images.githubusercontent.com/77086210/284446018-8a9aca0d-2dab-4946-9af8-19d2dbbb1108.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDE0MDYsIm5iZiI6MTcyMTMwMTEwNiwicGF0aCI6Ii83NzA4NjIxMC8yODQ0NDYwMTgtOGE5YWNhMGQtMmRhYi00OTQ2LTlhZjgtMTlkMmRiYmIxMTA4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMTE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU1ZmI2ZDdjMzgxOGQwYTAxZDQwOGE5OTA5NjYyYTMxODg2ZTNkMzU3YTdmM2Q4MTFlMTY0NDA4M2UxMDJmNDcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.7NodFg4xSOgQKvAMzWL7-K0y2Rm0VbRBAfMtJsxIfXM)
![dark mode](https://private-user-images.githubusercontent.com/77086210/284446053-8eba7166-473b-49b5-84e0-d2633781b905.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjEzMDE0MDYsIm5iZiI6MTcyMTMwMTEwNiwicGF0aCI6Ii83NzA4NjIxMC8yODQ0NDYwNTMtOGViYTcxNjYtNDczYi00OWI1LTg0ZTAtZDI2MzM3ODFiOTA1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzE4VDExMTE0NlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTAzMmQ5ZmMyNjg0NGI0YjNiNDA1ZWZhNTQ2MGFiYWJjMDRjNTdiNjUxMDA1MWI0YTJmODliY2M4MGVhMWVmMDkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.MrHa8IjzAPTGU8p-Wm-DILDMgFoszv5tlx8DZs1CJbI)
You can add this package to Package.swift
, include it in your target dependencies.
let package = Package(
dependencies: [
.package(url: "https://github.com/mlballack/WeeklyCalendar", .upToNextMajor(from: "0.1.0")),
],
targets: [
.target(
name: "<your-target-name>",
dependencies: ["WeeklyCalendar"]),
]
)
You can add this package on Xcode. See documentation.
You can just import WeeklyCalendar
to use it.
import SwiftUI
import WeeklyCalendar
struct ContentView: View {
@State var selectedDate: Date = .now
var body: some View {
VStack {
WeeklyCalendar()
.setColorTheme(.dark)
.onChangeDate { selected in
selectedDate = selected
}
// Any View
}
}
}
and if you want to choose your own colors, you can customize it as follows
WeeklyCalendar()
.setColorTheme(.custom(
bgColor: <#T##Color#>,
weekdayTextColor: <#T##Color#>,
weekendTextColor: <#T##Color#>,
todayTextColor: <#T##Color#>,
selectedTextColor: <#T##Color#>,
selectedCircleColor: <#T##Color#>,
todaySelectedCircleColor: <#T##Color#>,
dateTextColor: <#T##Color#>
))
- iOS 16.0+
- Xcode 14.0+
I would be happy if you contribute !!
This project is licensed under the MIT License - see the License file for details