78
GitHub - sindresorhus/CircularProgress: Circular progress indicator for your mac...
source link: https://github.com/sindresorhus/CircularProgress
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
readme.md
CircularProgress
Circular progress indicator for your macOS app
This package is used in production by the Gifski and HEIC Converter app.
Requirements
- macOS 10.12+
- Xcode 10+
- Swift 4.2+
Install
SwiftPM
.package(url: "https://github.com/sindresorhus/CircularProgress", from: "0.1.2")
Carthage
github "sindresorhus/CircularProgress"
CocoaPods
pod 'CircularProgressMac'
Usage
Also check out the example app in the Xcode project.
Manually set the progress
import Cocoa import CircularProgress @NSApplicationMain final class AppDelegate: NSObject, NSApplicationDelegate { @IBOutlet private var window: NSWindow! let circularProgress = CircularProgress(size: 200) func applicationDidFinishLaunching(_ notification: Notification) { window.contentView!.addSubview(circularProgress) foo.onUpdate = { progress in self.circularProgress.progress = progress } } }
Specify a Progress
instance
import Cocoa import CircularProgress @NSApplicationMain final class AppDelegate: NSObject, NSApplicationDelegate { @IBOutlet private var window: NSWindow! let progress = Progress(totalUnitCount: 1) func applicationDidFinishLaunching(_ notification: Notification) { window.contentView!.addSubview(circularProgress) progress?.becomeCurrent(withPendingUnitCount: 1) circularProgress.progressInstance = progress } }
API
/** Color of the circular progress view. Defaults to the user's accent color. For High Sierra and below it uses a fallback color. */ @IBInspectable var color: NSColor = .controlAccentColor /** Show `✔` instead `100%`. */ @IBInspectable var showCheckmarkAtHundredPercent: Bool = true /** The progress value in the range `0...1`. - Note: The value will be clamped to `0...1`. */ @IBInspectable var progress: Double = 0 /** Let a `Progress` instance update the `progress` for you. */ var progressInstance: Progress? /** Reset the progress back to zero without animating. */ func resetProgress() {} init(frame: CGRect) {} init?(coder: NSCoder) {} /** Initialize the progress view with a width/height of the given `size`. */ convenience init(size: Double) {}
Related
- DockProgress - Show progress in your app's Dock icon
- Defaults - Swifty and modern UserDefaults
- Preferences - Add a preferences window to your macOS app
- LaunchAtLogin - Add "Launch at Login" functionality to your macOS app
- More…
You might also like my apps.
License
MIT © Sindre Sorhus
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK