A simple SwiftUI
timer view with Background, LocalNotification and Haptic support.
Initialise the KSTimerView with TimeInterval
and present it using .sheet
or .fullScreenCover
modifier or use with ZStack
.
.sheet(isPresented: $shouldPresentTimerView, content: {
KSTimerView(timerInterval: $timeInterval)
})
You can customise the KSTimerView using KSTimerView.Configuration
and initialise KSTimerView with your configuration.
let configuration = KSTimerView.Configuration(timerBgColor: .yellow, timerRingBgColor: .red, actionButtonsBgColor: .blue, foregroundColor: .white, stepperValue: 10, enableLocalNotification: true, enableHapticFeedback: true)
KSTimerView(timerInterval: $timeInterval, configuration: configuration)
Background to foreground will be handled by default. You no need to do anything.
It is disabled by default. Enable it using enableLocalNotification
in KSTimerView.Configuration
.
let configuration = KSTimerView.Configuration(..., enableLocalNotification: true, ...)
⚠️ Note: You need to get permission from user to useLocalNotification
. Get it before presenting the timer view to the user.
It is disabled by default. Enable it using enableHapticFeedback
in KSTimerView.Configuration
.
let configuration = KSTimerView.Configuration(..., enableHapticFeedback: true)
KSTimerView supports SPM (Swift Package Manager). You can integrate it using Xcode, File -> Swift Packages -> Add Package Dependency...
Enter, https://github.com/karthironald/KSTimerView in repo URL.
- Open an issue, if you need any improvements or if you face any issues.
Thanks! 👨🏻💻